1. 程式人生 > >spring與JDBC以及Mybatis的整合

spring與JDBC以及Mybatis的整合

    筆者列舉了開發中經常用到的spring與jdbc以及spring與mybatis的整合(只列舉了專案開發中經常用到的),

希望能幫到你。

一.spring與JDBC整合 <?xml version="1.0" encoding="UTF-8"?> <!-- 配置dao層 --> <bean name="dao" class="com.briup.jdbc.UserDaoImplByJDBC"> <property name="dateSource" ref="dataSource2"></property>
</bean> <!-- 第三種配置方式 --> <!--  <context:property-placeholder location="jdbc.properties" />      <bean id="dataSource3"           class="org.springframework.jdbc.datasource.DriverManagerDataSource">           <property name="driverClassName">               <value>${jdbc.driverClassName}</value>
          </property>           <property name="url">               <value>${jdbc.url}</value>           </property>           <property name="username">               <value>${jdbc.username}</value>           </property>           <property name="password">
              <value>${jdbc.password}</value>           </property>       </bean> --> <!-- 第二種配置方式 --> <context:property-placeholder location="jdbc.properties" /> <bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 最大連線數 --> <property name="maxActive" value="80" /> <!-- 最大空閒連線數 --> <property name="maxIdle" value="20" /> <!-- 最大等待時間:當沒有可用連線時,連線池等待連線被歸還的最大時間 單位:毫秒           超過時間則丟擲異常,如果設定為-1表示無限等待 --> <property name="maxWait" value="3000" /> </bean> <!-- 使用第一種配置方式 --> <bean name="dataSource" class="oracle.jdbc.pool.OracleConnectionPoolDataSource"> <property name="networkProtocol" value="tcp" /> <property name="databaseName" value="XE" /> <property name="driverType" value="thin" /> <property name="portNumber" value="1521" /> <property name="user" value="oracle" /> <property name="serverName" value="127.0.0.1" /> <property name="password" value="oracle" /> </bean> </beans> 二.Spring與Mybatis整合(常用的方式) mybatis-config.xml 配置 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" <configuration> <typeAliases> <package name="com.briup.pojo"/> </typeAliases> <mappers> <mapper resource="com/briup/mybatis/userMapper.xml" /> </mappers> </configuration> mapper對映檔案配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!-- com.briup.mappers.StudentMapper是我們定義介面的全限定名字 這樣就可以使用介面呼叫對映的SQL語句了 這個名字一定要和介面對應上 --> <mapper namespace="com.briup.dao.IUserDao"> <insert id="addUser" parameterType="user">           insert into a_user           values(#{id},#{name},#{age}) </insert> <select id="listUser" resultType="user">           select id,name,age from a_user </select> </mapper> spring XML配置 <?xml version="1.0" encoding="UTF-8"?> <!-- 配置dataSource資料來源 --> <!-- 第二種配置方式 --> <context:property-placeholder location="jdbc.properties" /> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 最大連線數 --> <property name="maxActive" value="80" /> <!-- 最大空閒連線數 --> <property name="maxIdle" value="20" /> <!-- 最大等待時間:當沒有可用連線時,連線池等待連線被歸還的最大時間 單位:毫秒           超過時間則丟擲異常,如果設定為-1表示無限等待 --> <property name="maxWait" value="3000" /> </bean> <!-- 配置factory --> <bean id="factory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 指定mybatis-config總配置檔案,訂製的environment在spring容器中不在生效 --> <property name="configLocation" value="classpath:mybatis-config.xml" /> </bean> <!-- 通過來掃描mapper介面所在的包名,當有多個包的時候,用半形逗號分隔即可      然後再次強調下,這種方式的配置,userMapper.xml必須和對應的介面放在同一個目錄下面--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.briup.dao"></property> <property name="sqlSessionFactory" ref="factory"></property> </bean> </beans>