• JAVAEE框架搭建所需的配置文件大全


    1.log4j.properties

    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.MaxFileSize=1MB
    log4j.appender.file.MaxBackupIndex=1024
    log4j.appender.file.File=D:/SSH2.log
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c]-[%-5p] %m%n%n
    
    log4j.rootLogger=info, file
    View Code

    2.struts.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
    <struts>
        <!--加载国际化资源文件 -->
        <constant name="struts.custom.i18n.resources" value="message" />
        <constant name="struts.locale" value="zh_CN" />
        <!-- 默认的编码 -->
        <constant name="struts.i18n.encoding" value="UTF-8" />
        <!-- ActionName中是否支持‘/’字符 -->
        <constant name="struts.enable.SlashesInActionNames" value="true" />
        <!-- 不使用Struts提供的样式 -->
        <constant name="struts.ui.theme" value="simple" />
        <!-- 产品发布阶段应该将其设置false,打印更详细的错误信息 -->
        <constant name="struts.devMode" value="false" />
        <!-- 系统中的默认包,放置公共内容,用于被其他包继承 -->
        <package name="base" extends="struts-default">
            
        </package>
    </struts>  
    View Code

    3.jdbc.properties

     1 #jdbc.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver
     2 #jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=TeacherFlatform
     3 jdbc.driverClass=com.mysql.jdbc.Driver
     4 jdbc.url=jdbc:mysql://localhost:3306/test
     5 # Database login information
     6 jdbc.username=root
     7 jdbc.password=rootroot
     8 
     9 # Time to wait for an open connection before timing out
    10 # (in milliseconds)
    11 cpool.checkoutTimeout=5000
    12  
    13 # Connection pool size
    14 cpool.minPoolSize=50
    15  
    16 #Initial connection count
    17 cpool.initialPoolSize=50
    18 cpool.maxPoolSize=200
    19  
    20 # How long to keep unused connections around(in seconds)
    21 # Note: MySQL times out idle connections after 8 hours(28,800 seconds)
    22 # so ensure this value is below MySQL idle timeout
    23 cpool.maxIdleTime=25200
    24  
    25 # How long to hang on to excess unused connections after traffic spike
    26 # (in seconds)
    27 cpool.maxIdleTimeExcessConnections=1800
    28  
    29 # Acquiring new connections is slow, so eagerly retrieve extra connections
    30 # when current pool size is reached
    31 cpool.acquireIncrement=5
    32 
    33 # max PreparedStatement count in cache
    34 cpool.maxStatements=100
    35 
    36 # check idle connection per 60, default 0
    37 cpool.idleConnectionTestPeriod=60
    View Code

    4.spring.xml,包含hibernate相关的配置,使用注解,将所有配置整合在一起的配法

    <?xml version="1.0" encoding="utf-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns:context="http://www.springframework.org/schema/context"
         xmlns:p="http://www.springframework.org/schema/p"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:aop="http://www.springframework.org/schema/aop"
         xsi:schemaLocation="http://www.springframework.org/schema/beans 
             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx.xsd
            http://www.springframework.org/schema/aop 
            http://www.springframework.org/schema/aop/spring-aop-3.0.xsd" 
        default-autowire="byName">
        <!-- 配置bean的注入方式,以注解(以@开始)的方式注入bean -->
        <!-- 以注解方式注入bean -->
        <context:component-scan base-package="com.youcent" />
        <!-- 以注解方式注入bean的属性 -->
        <context:annotation-config />
        <!-- 配置JDBC文件 -->
        <bean id="propertyConfigurer"
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="location">
                <value>/WEB-INF/spring/jdbc.properties</value>
            </property>
        </bean>
        <!-- 配置数据源,使用c3p0 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
            <property name="driverClass" value="${jdbc.driverClass}" />
            <property name="jdbcUrl" value="${jdbc.url}" />
            <property name="user" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
            <property name="autoCommitOnClose" value="true" />
            <property name="checkoutTimeout" value="${cpool.checkoutTimeout}" />
            <property name="minPoolSize" value="${cpool.minPoolSize}" />
            <property name="maxPoolSize" value="${cpool.maxPoolSize}" />
            <property name="initialPoolSize" value="${cpool.initialPoolSize}" />
            <property name="maxIdleTime" value="${cpool.maxIdleTime}" />
            <property name="acquireIncrement" value="${cpool.acquireIncrement}" />
            <property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}"/>
            <property name="maxStatements" value="${cpool.maxStatements}" />
            <property name="idleConnectionTestPeriod" value="${cpool.idleConnectionTestPeriod}" />
            <property name="testConnectionOnCheckin" value="true" />
            <property name="testConnectionOnCheckout" value="true" />
        </bean>
        <!-- 配置sessionFactory-->
        <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            <property name="dataSource" ref="dataSource" />
            <property name="packagesToScan">
                <list>
                    <value>com.common.hibernate.model</value>
                </list>
            </property>
            
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">
                        <!-- org.hibernate.dialect.SQLServerDialect  -->
                        <!-- org.hibernate.dialect.Oracle10gDialect -->
                        org.hibernate.dialect.MySQLDialect
                    </prop>
                    <prop key="hibernate.show_sql">
                        true
                    </prop>
                    <prop key="hibernate.format_sql">
                        true
                    </prop>
                    <prop key="hibernate.hbm2ddl.auto">
                        update
                    </prop>
                </props>
            </property>
        </bean>
        <!-- 注入SessionFactory -->
        <bean id="transactionManager"
            class="org.springframework.orm.hibernate3.HibernateTransactionManager">
            <property name="sessionFactory" ref="sessionFactory"/>
        </bean>
        
        <!--  事务通知 -->
        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <!-- 事务语义 -->    
            <tx:attributes>
              <!-- 所有以 'get' 打头的方法只读 -->      
              <tx:method name="get*" read-only="true"/>
              <tx:method name="find*" read-only="true"/>
              <!-- 其他方法采用默认事务设置(参考后面的) -->      
              <tx:method name="*"/>
            </tx:attributes>
          </tx:advice>
        
        <!-- 事务切入点 -->
        <aop:config>
            <aop:pointcut id="serviceMethods" expression="execution(* *..service.*Service.*(..))"/>
            <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods"/>
          </aop:config>
    </beans>
    View Code

    5.hibernate.properties

       这里可查到Hibernate所有的配置属性,比如数据库驱动url,所需方言

    ######################
    ### Query Language ###
    ######################
    
    ## define query language constants / function names
    
    hibernate.query.substitutions yes 'Y', no 'N'
    
    
    ## select the classic query parser
    
    #hibernate.query.factory_class org.hibernate.hql.classic.ClassicQueryTranslatorFactory
    
    
    
    #################
    ### Platforms ###
    #################
    
    ## JNDI Datasource
    
    #hibernate.connection.datasource jdbc/test
    #hibernate.connection.username db2
    #hibernate.connection.password db2
    
    
    ## HypersonicSQL
    
    hibernate.dialect org.hibernate.dialect.HSQLDialect
    hibernate.connection.driver_class org.hsqldb.jdbcDriver
    hibernate.connection.username sa
    hibernate.connection.password
    hibernate.connection.url jdbc:hsqldb:./build/db/hsqldb/hibernate
    #hibernate.connection.url jdbc:hsqldb:hsql://localhost
    #hibernate.connection.url jdbc:hsqldb:test
    
    ## H2 (www.h2database.com)
    #hibernate.dialect org.hibernate.dialect.H2Dialect
    #hibernate.connection.driver_class org.h2.Driver
    #hibernate.connection.username sa
    #hibernate.connection.password
    #hibernate.connection.url jdbc:h2:mem:./build/db/h2/hibernate
    #hibernate.connection.url jdbc:h2:testdb/h2test
    #hibernate.connection.url jdbc:h2:mem:imdb1
    #hibernate.connection.url jdbc:h2:tcp://dbserv:8084/sample;     
    #hibernate.connection.url jdbc:h2:ssl://secureserv:8085/sample;     
    #hibernate.connection.url jdbc:h2:ssl://secureserv/testdb;cipher=AES
    
    ## MySQL
    
    #hibernate.dialect org.hibernate.dialect.MySQLDialect
    #hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
    #hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
    #hibernate.connection.driver_class com.mysql.jdbc.Driver
    #hibernate.connection.url jdbc:mysql:///test
    #hibernate.connection.username gavin
    #hibernate.connection.password
    
    
    ## Oracle
    
    #hibernate.dialect org.hibernate.dialect.Oracle8iDialect
    #hibernate.dialect org.hibernate.dialect.Oracle9iDialect
    #hibernate.dialect org.hibernate.dialect.Oracle10gDialect
    #hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver
    #hibernate.connection.username ora
    #hibernate.connection.password ora
    #hibernate.connection.url jdbc:oracle:thin:@localhost:1521:orcl
    #hibernate.connection.url jdbc:oracle:thin:@localhost:1522:XE
    
    
    ## PostgreSQL
    
    #hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
    #hibernate.connection.driver_class org.postgresql.Driver
    #hibernate.connection.url jdbc:postgresql:template1
    #hibernate.connection.username pg
    #hibernate.connection.password
    
    
    ## DB2
    
    #hibernate.dialect org.hibernate.dialect.DB2Dialect
    #hibernate.connection.driver_class com.ibm.db2.jcc.DB2Driver
    #hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver
    #hibernate.connection.url jdbc:db2://localhost:50000/somename
    #hibernate.connection.url jdbc:db2:somename
    #hibernate.connection.username db2
    #hibernate.connection.password db2
    
    ## TimesTen
    
    #hibernate.dialect org.hibernate.dialect.TimesTenDialect
    #hibernate.connection.driver_class com.timesten.jdbc.TimesTenDriver
    #hibernate.connection.url jdbc:timesten:direct:test
    #hibernate.connection.username
    #hibernate.connection.password 
    
    ## DB2/400
    
    #hibernate.dialect org.hibernate.dialect.DB2400Dialect
    #hibernate.connection.username user
    #hibernate.connection.password password
    
    ## Native driver
    #hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver
    #hibernate.connection.url jdbc:db2://systemname
    
    ## Toolbox driver
    #hibernate.connection.driver_class com.ibm.as400.access.AS400JDBCDriver
    #hibernate.connection.url jdbc:as400://systemname
    
    
    ## Derby (not supported!)
    
    #hibernate.dialect org.hibernate.dialect.DerbyDialect
    #hibernate.connection.driver_class org.apache.derby.jdbc.EmbeddedDriver
    #hibernate.connection.username
    #hibernate.connection.password
    #hibernate.connection.url jdbc:derby:build/db/derby/hibernate;create=true
    
    
    ## Sybase
    
    #hibernate.dialect org.hibernate.dialect.SybaseDialect
    #hibernate.connection.driver_class com.sybase.jdbc2.jdbc.SybDriver
    #hibernate.connection.username sa
    #hibernate.connection.password sasasa
    #hibernate.connection.url jdbc:sybase:Tds:co3061835-a:5000/tempdb
    
    
    ## Mckoi SQL
    
    #hibernate.dialect org.hibernate.dialect.MckoiDialect
    #hibernate.connection.driver_class com.mckoi.JDBCDriver
    #hibernate.connection.url jdbc:mckoi:///
    #hibernate.connection.url jdbc:mckoi:local://C:/mckoi1.0.3/db.conf
    #hibernate.connection.username admin
    #hibernate.connection.password nimda
    
    
    ## SAP DB
    
    #hibernate.dialect org.hibernate.dialect.SAPDBDialect
    #hibernate.connection.driver_class com.sap.dbtech.jdbc.DriverSapDB
    #hibernate.connection.url jdbc:sapdb://localhost/TST
    #hibernate.connection.username TEST
    #hibernate.connection.password TEST
    #hibernate.query.substitutions yes 'Y', no 'N'
    
    
    ## MS SQL Server
    
    #hibernate.dialect org.hibernate.dialect.SQLServerDialect
    #hibernate.connection.username sa
    #hibernate.connection.password sa
    
    ## JSQL Driver
    #hibernate.connection.driver_class com.jnetdirect.jsql.JSQLDriver
    #hibernate.connection.url jdbc:JSQLConnect://1E1/test
    
    ## JTURBO Driver
    #hibernate.connection.driver_class com.newatlanta.jturbo.driver.Driver
    #hibernate.connection.url jdbc:JTurbo://1E1:1433/test
    
    ## WebLogic Driver
    #hibernate.connection.driver_class weblogic.jdbc.mssqlserver4.Driver
    #hibernate.connection.url jdbc:weblogic:mssqlserver4:1E1:1433
    
    ## Microsoft Driver (not recommended!)
    #hibernate.connection.driver_class com.microsoft.jdbc.sqlserver.SQLServerDriver
    #hibernate.connection.url jdbc:microsoft:sqlserver://1E1;DatabaseName=test;SelectMethod=cursor
    
    ## The New Microsoft Driver 
    #hibernate.connection.driver_class com.microsoft.sqlserver.jdbc.SQLServerDriver
    #hibernate.connection.url jdbc:sqlserver://localhost
    
    ## jTDS (since version 0.9)
    #hibernate.connection.driver_class net.sourceforge.jtds.jdbc.Driver
    #hibernate.connection.url jdbc:jtds:sqlserver://1E1/test
    
    ## Interbase
    
    #hibernate.dialect org.hibernate.dialect.InterbaseDialect
    #hibernate.connection.username sysdba
    #hibernate.connection.password masterkey
    
    ## DO NOT specify hibernate.connection.sqlDialect
    
    ## InterClient
    
    #hibernate.connection.driver_class interbase.interclient.Driver
    #hibernate.connection.url jdbc:interbase://localhost:3060/C:/firebird/test.gdb
    
    ## Pure Java
    
    #hibernate.connection.driver_class org.firebirdsql.jdbc.FBDriver
    #hibernate.connection.url jdbc:firebirdsql:localhost/3050:/firebird/test.gdb
    
    
    ## Pointbase
    
    #hibernate.dialect org.hibernate.dialect.PointbaseDialect
    #hibernate.connection.driver_class com.pointbase.jdbc.jdbcUniversalDriver
    #hibernate.connection.url jdbc:pointbase:embedded:sample
    #hibernate.connection.username PBPUBLIC
    #hibernate.connection.password PBPUBLIC
    
    
    ## Ingres
    
    ## older versions (before Ingress 2006)
    
    #hibernate.dialect org.hibernate.dialect.IngresDialect
    #hibernate.connection.driver_class ca.edbc.jdbc.EdbcDriver
    #hibernate.connection.url jdbc:edbc://localhost:II7/database
    #hibernate.connection.username user
    #hibernate.connection.password password
    
    ## Ingres 2006 or later
    
    #hibernate.dialect org.hibernate.dialect.IngresDialect
    #hibernate.connection.driver_class com.ingres.jdbc.IngresDriver
    #hibernate.connection.url jdbc:ingres://localhost:II7/database;CURSOR=READONLY;auto=multi
    #hibernate.connection.username user
    #hibernate.connection.password password
    
    ## Mimer SQL
    
    #hibernate.dialect org.hibernate.dialect.MimerSQLDialect
    #hibernate.connection.driver_class com.mimer.jdbc.Driver
    #hibernate.connection.url jdbc:mimer:multi1
    #hibernate.connection.username hibernate
    #hibernate.connection.password hibernate
    
    
    ## InterSystems Cache
    
    #hibernate.dialect org.hibernate.dialect.Cache71Dialect
    #hibernate.connection.driver_class com.intersys.jdbc.CacheDriver
    #hibernate.connection.username _SYSTEM
    #hibernate.connection.password SYS
    #hibernate.connection.url jdbc:Cache://127.0.0.1:1972/HIBERNATE
    
    
    #################################
    ### Hibernate Connection Pool ###
    #################################
    
    hibernate.connection.pool_size 1
    
    
    
    ###########################
    ### C3P0 Connection Pool###
    ###########################
    
    #hibernate.c3p0.max_size 2
    #hibernate.c3p0.min_size 2
    #hibernate.c3p0.timeout 5000
    #hibernate.c3p0.max_statements 100
    #hibernate.c3p0.idle_test_period 3000
    #hibernate.c3p0.acquire_increment 2
    #hibernate.c3p0.validate false
    
    
    
    ##############################
    ### Proxool Connection Pool###
    ##############################
    
    ## Properties for external configuration of Proxool
    
    hibernate.proxool.pool_alias pool1
    
    ## Only need one of the following
    
    #hibernate.proxool.existing_pool true
    #hibernate.proxool.xml proxool.xml
    #hibernate.proxool.properties proxool.properties
    
    
    
    #################################
    ### Plugin ConnectionProvider ###
    #################################
    
    ## use a custom ConnectionProvider (if not set, Hibernate will choose a built-in ConnectionProvider using hueristics)
    
    #hibernate.connection.provider_class org.hibernate.connection.DriverManagerConnectionProvider
    #hibernate.connection.provider_class org.hibernate.connection.DatasourceConnectionProvider
    #hibernate.connection.provider_class org.hibernate.connection.C3P0ConnectionProvider
    #hibernate.connection.provider_class org.hibernate.connection.ProxoolConnectionProvider
    
    
    
    #######################
    ### Transaction API ###
    #######################
    
    ## Enable automatic flush during the JTA beforeCompletion() callback
    ## (This setting is relevant with or without the Transaction API)
    
    #hibernate.transaction.flush_before_completion
    
    
    ## Enable automatic session close at the end of transaction
    ## (This setting is relevant with or without the Transaction API)
    
    #hibernate.transaction.auto_close_session
    
    
    ## the Transaction API abstracts application code from the underlying JTA or JDBC transactions
    
    #hibernate.transaction.factory_class org.hibernate.transaction.JTATransactionFactory
    #hibernate.transaction.factory_class org.hibernate.transaction.JDBCTransactionFactory
    
    
    ## to use JTATransactionFactory, Hibernate must be able to locate the UserTransaction in JNDI
    ## default is java:comp/UserTransaction
    ## you do NOT need this setting if you specify hibernate.transaction.manager_lookup_class
    
    #jta.UserTransaction jta/usertransaction
    #jta.UserTransaction javax.transaction.UserTransaction
    #jta.UserTransaction UserTransaction
    
    
    ## to use the second-level cache with JTA, Hibernate must be able to obtain the JTA TransactionManager
    
    #hibernate.transaction.manager_lookup_class org.hibernate.transaction.JBossTransactionManagerLookup
    #hibernate.transaction.manager_lookup_class org.hibernate.transaction.WeblogicTransactionManagerLookup
    #hibernate.transaction.manager_lookup_class org.hibernate.transaction.WebSphereTransactionManagerLookup
    #hibernate.transaction.manager_lookup_class org.hibernate.transaction.OrionTransactionManagerLookup
    #hibernate.transaction.manager_lookup_class org.hibernate.transaction.ResinTransactionManagerLookup
    
    
    
    ##############################
    ### Miscellaneous Settings ###
    ##############################
    
    ## print all generated SQL to the console
    
    #hibernate.show_sql true
    
    
    ## format SQL in log and console
    
    hibernate.format_sql true
    
    
    ## add comments to the generated SQL
    
    #hibernate.use_sql_comments true
    
    
    ## generate statistics
    
    #hibernate.generate_statistics true
    
    
    ## auto schema export
    
    #hibernate.hbm2ddl.auto create-drop
    #hibernate.hbm2ddl.auto create
    #hibernate.hbm2ddl.auto update
    #hibernate.hbm2ddl.auto validate
    
    
    ## specify a default schema and catalog for unqualified tablenames
    
    #hibernate.default_schema test
    #hibernate.default_catalog test
    
    
    ## enable ordering of SQL UPDATEs by primary key
    
    #hibernate.order_updates true
    
    
    ## set the maximum depth of the outer join fetch tree
    
    hibernate.max_fetch_depth 1
    
    
    ## set the default batch size for batch fetching
    
    #hibernate.default_batch_fetch_size 8
    
    
    ## rollback generated identifier values of deleted entities to default values
    
    #hibernate.use_identifer_rollback true
    
    
    ## enable bytecode reflection optimizer (disabled by default)
    
    #hibernate.bytecode.use_reflection_optimizer true
    
    
    
    #####################
    ### JDBC Settings ###
    #####################
    
    ## specify a JDBC isolation level
    
    #hibernate.connection.isolation 4
    
    
    ## enable JDBC autocommit (not recommended!)
    
    #hibernate.connection.autocommit true
    
    
    ## set the JDBC fetch size
    
    #hibernate.jdbc.fetch_size 25
    
    
    ## set the maximum JDBC 2 batch size (a nonzero value enables batching)
    
    #hibernate.jdbc.batch_size 5
    #hibernate.jdbc.batch_size 0
    
    
    ## enable batch updates even for versioned data
    
    hibernate.jdbc.batch_versioned_data true
    
    
    ## enable use of JDBC 2 scrollable ResultSets (specifying a Dialect will cause Hibernate to use a sensible default)
    
    #hibernate.jdbc.use_scrollable_resultset true
    
    
    ## use streams when writing binary types to / from JDBC
    
    hibernate.jdbc.use_streams_for_binary true
    
    
    ## use JDBC 3 PreparedStatement.getGeneratedKeys() to get the identifier of an inserted row
    
    #hibernate.jdbc.use_get_generated_keys false
    
    
    ## choose a custom JDBC batcher
    
    # hibernate.jdbc.factory_class
    
    
    ## enable JDBC result set column alias caching 
    ## (minor performance enhancement for broken JDBC drivers)
    
    # hibernate.jdbc.wrap_result_sets
    
    
    ## choose a custom SQL exception converter
    
    #hibernate.jdbc.sql_exception_converter
    
    
    
    ##########################
    ### Second-level Cache ###
    ##########################
    
    ## optimize chache for minimal "puts" instead of minimal "gets" (good for clustered cache)
    
    #hibernate.cache.use_minimal_puts true
    
    
    ## set a prefix for cache region names
    
    hibernate.cache.region_prefix hibernate.test
    
    
    ## disable the second-level cache
    
    #hibernate.cache.use_second_level_cache false
    
    
    ## enable the query cache
    
    #hibernate.cache.use_query_cache true
    
    
    ## store the second-level cache entries in a more human-friendly format
    
    #hibernate.cache.use_structured_entries true
    
    
    ## choose a cache implementation
    
    #hibernate.cache.provider_class org.hibernate.cache.EhCacheProvider
    #hibernate.cache.provider_class org.hibernate.cache.EmptyCacheProvider
    hibernate.cache.provider_class org.hibernate.cache.HashtableCacheProvider
    #hibernate.cache.provider_class org.hibernate.cache.TreeCacheProvider
    #hibernate.cache.provider_class org.hibernate.cache.OSCacheProvider
    #hibernate.cache.provider_class org.hibernate.cache.SwarmCacheProvider
    
    
    ## choose a custom query cache implementation
    
    #hibernate.cache.query_cache_factory
    
    
    
    ############
    ### JNDI ###
    ############
    
    ## specify a JNDI name for the SessionFactory
    
    #hibernate.session_factory_name hibernate/session_factory
    
    
    ## Hibernate uses JNDI to bind a name to a SessionFactory and to look up the JTA UserTransaction;
    ## if hibernate.jndi.* are not specified, Hibernate will use the default InitialContext() which
    ## is the best approach in an application server
    
    #file system
    #hibernate.jndi.class com.sun.jndi.fscontext.RefFSContextFactory
    #hibernate.jndi.url file:/
    
    #WebSphere
    #hibernate.jndi.class com.ibm.websphere.naming.WsnInitialContextFactory
    #hibernate.jndi.url iiop://localhost:900/
    View Code

     6.各种jdbc连接

    Mysql: datasource connectiongString  
          jdbc.driverClassName = com.mysql.jdbc.Driver  
          jdbc.url = jdbc:mysql://localhost/MyTest  
          jdbc.username = root  
          jdbc.password = 123  
    #Oracle:datasource connectiongString  
          jdbc.driverClassName = oracle.jdbc.driver.OracleDriver  
          jdbc.url = jdbc:oracle:thin:@localhost:1521:devdb  
          jdbc.username = root  
          jdbc.password = 123  
    #SQL Server 2005+:datasource connectiongString  
          jdbc.driverClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver  
          jdbc.url = jdbc:sqlserver://localhost:1433;DatabaseName=gjcx;  
          jdbc.username = root  
          jdbc.password = 123  
    #SQL Server 2000:datasource connectiongString  
         jdbc.driverClassName = com.microsoft.jdbc.sqlserver.SQLServerDriver  
         jdbc.url = jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=gjcx;  
    #when you use Windows IntegratedSecurity ,the jdbc.url will be...  
         jdbc.url =jdbc:sqlserver://localhost:1433;DatabaseName=gjcx;integratedSecurity=true  
    View Code

    7.JPA之/META-INF/persistence.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
        
        <persistence-unit name="JPA" transaction-type="RESOURCE_LOCAL">
              <properties>
                  <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
                  <property name="hibernate.hbm2ddl.auto" value="update"/>
                  <property name="hibernate.show_sql" value="true"/>
                <property name = "hibernate.connection.driver_class" value = "com.mysql.jdbc.Driver"/>
                <property name = "hibernate.connection.url" value = "jdbc:mysql://localhost:3306/test"/>
                <property name = "hibernate.connection.username" value = "root"/>
                <property name = "hibernate.connection.password" value = "rootroot"/>
              </properties>
        </persistence-unit>
      
    </persistence>
    View Code

    8.JAP+hibernate+Spring整合,须两个文件

    (1).META-INF/persistence.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
        
        <persistence-unit name="JPA_Spring_Struts2" transaction-type="RESOURCE_LOCAL">
            <provider>org.hibernate.ejb.HibernatePersistence</provider>
        </persistence-unit>
    </persistence>
    View Code

    (2).spring.xml

    <?xml version="1.0" encoding="utf-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:p="http://www.springframework.org/schema/p"
         xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:aop="http://www.springframework.org/schema/aop" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"
        default-autowire="byName">
        <!-- 配置bean的注入方式,以注解(以@开始)的方式注入bean -->
        <!-- 以注解方式注入bean -->
        <context:component-scan base-package="com.phome" />
        <!-- 以注解方式注入bean的属性 -->
        <context:annotation-config />
        <!-- 配置数据库连接文件的位置 -->
        <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="location">
                <value>/WEB-INF/spring/jdbc.properties</value>
            </property>
        </bean>
            <!-- 配置C3P0连接池 -->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
            <property name="driverClass" value="${jdbc.driverClass}" />
            <property name="jdbcUrl" value="${jdbc.url}" />
            <property name="user" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
            <property name="autoCommitOnClose" value="true" />
            <property name="checkoutTimeout" value="${cpool.checkoutTimeout}" />
            <property name="minPoolSize" value="${cpool.minPoolSize}" />
            <property name="maxPoolSize" value="${cpool.maxPoolSize}" />
            <property name="initialPoolSize" value="${cpool.initialPoolSize}" />
            <property name="maxIdleTime" value="${cpool.maxIdleTime}" />
            <property name="acquireIncrement" value="${cpool.acquireIncrement}" />
            <!-- <property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}"/> -->
            <property name="maxStatements" value="${cpool.maxStatements}" />
            <property name="idleConnectionTestPeriod" value="${cpool.idleConnectionTestPeriod}" />
            <property name="testConnectionOnCheckin" value="true" />
            <property name="testConnectionOnCheckout" value="true" />
        </bean>
        <!-- 配置实体管理器 -->
        <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
            <property name="dataSource" ref="dataSource"></property>
            <property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"></property>
            <property name="jpaProperties">
                <value>
                    hibernate.dialect = org.hibernate.dialect.MySQLDialect
                    hibernate.hbm2ddl.auto = update
                </value>
            </property>
            <property name="jpaVendorAdapter">
                <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                    <property name="showSql" value="true"></property>
                    <!-- <property name="generateDdl" value="false"></property> -->
                </bean>
            </property>
        </bean>
        <!-- 配置事务管理器 -->
        <bean id="jpaTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
            <property name="dataSource" ref="dataSource"></property>
            <property name="entityManagerFactory" ref="entityManagerFactory"></property>
        </bean>
        <!--  事务通知 -->
        <tx:advice id="txAdvice" transaction-manager="jpaTransactionManager">
            <!-- 事务语义 -->    
            <tx:attributes>
              <!-- 所有以 'get' 打头的方法只读 -->      
              <tx:method name="get*" read-only="true"/>
              <tx:method name="find*" read-only="true"/>
              <!-- 其他方法采用默认事务设置(参考后面的) -->      
              <tx:method name="*"/>
            </tx:attributes>
          </tx:advice>
          <!-- 事务切入点 -->
        <aop:config>
            <aop:pointcut id="serviceMethods" expression="execution(* *..dao.*Dao.*(..))"/>
            <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods"/>
          </aop:config>    
    </beans>
    View Code

    9.Ibatis使用配置

    (1).sqlmap-config.xml,需要jdbc.properties,在前面有

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sqlMapConfig         
        PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"         
        "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
    
    <sqlMapConfig>
        <properties resource="com/phome/jdbc.properties" /> <!--DataSource ConnectingString -->
        <transactionManager type="JDBC">
            <dataSource type="SIMPLE">
                <property name="JDBC.Driver" value="${jdbc.driverClassName}" />
                <property name="JDBC.ConnectionURL" value="${jdbc.url}" />
                <property name="JDBC.Username" value="${jdbc.username}" />
                <property name="JDBC.Password" value="${jdbc.password}" />
            </dataSource>
        </transactionManager>
        <sqlMap resource="com/phome/Student.xml" />
    </sqlMapConfig>
    View Code

    (2).Student.xml,在sqlmap-config.xml有引入

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sqlMap         
        PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"         
        "http://ibatis.apache.org/dtd/sql-map-2.dtd">
    
    <sqlMap>
        <typeAlias alias="Student" type="com.phome.Student" />
        <resultMap class="Student" id="StudentResult">
            <result property="id" column="ID" />
            <result property="name" column="NAME" />
            <result property="birthday" column="BIRTHDAY" />
        </resultMap>
        <select id="findAllStudent" resultClass="Student">
            select id,name,birthday from Student
        </select>
        <delete id="deleteStudentById" parameterClass="int">
            delete from
            student where id=#id#
        </delete>
        <insert id="addStudent" parameterClass="Student">
            insert into
            student(id,name,birthday)values(#id#,#name#,#birthday#)
        </insert>
    </sqlMap>
    View Code

    (3)StudentDaoImpl.java,这里就不写接口了,主要是写个例子

    package com.phome;
    
    import java.io.IOException;
    import java.io.Reader;
    import java.sql.SQLException;
    import java.util.Date;
    import java.util.List;
    
    import com.ibatis.common.resources.Resources;
    import com.ibatis.sqlmap.client.SqlMapClient;
    import com.ibatis.sqlmap.client.SqlMapClientBuilder;
    
    public class StudentDaoImpl implements IStudentDao {
        public static SqlMapClient sqlMapClient = null;
        static {
            try {
                Reader reader = Resources
                        .getResourceAsReader("com/phome/sqlmap-config.xml");
                sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
                reader.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
        @SuppressWarnings("unchecked")
        @Override
        public List<Student> findAllStudents() {
            // TODO Auto-generated method stub
            List<Student> students = null;
            try {
                students = sqlMapClient.queryForList("findAllStudent");
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return students;
        }
    
        @Override
        public void delete(int id) {
            // TODO Auto-generated method stub
            try {
                sqlMapClient.delete("deleteStudentById", id);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
        public static void main(String[] args) throws Exception {
            IStudentDao dao = new StudentDaoImpl();
            /*List<Student> students = dao.findAllStudents();
            for (Student stu : students) {
                System.out.println(stu);
            }*/
            Student stu = new Student();
            stu.setId(5);
            stu.setName("wangwu2");
            stu.setBirthday(new Date());
            dao.add(stu);
            //dao.delete(5);
        }
    
        @Override
        public void add(Student student) {
            // TODO Auto-generated method stub
            try {
                sqlMapClient.insert("addStudent", student);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    View Code


     

  • 相关阅读:
    LiLicense server OR Activation code
    一个比喻讲明Docker是什么
    Linux 系统目录结构说明
    Sublime Text2支持Vue语法高亮显示
    javascript权威指南笔记[6-8]
    javascript权威指南笔记[1-5]
    使用chrome控制台调试js代码
    windows与linux下执行.class(包含main方法)
    linux 命令
    几种常见的编码格式
  • 原文地址:https://www.cnblogs.com/zhougaojun/p/3328720.html
Copyright © 2020-2023  润新知