MyBatis-Spring(一)--搭建步驟
MyBatis-Spring項目不是Sring項目的子框架,而是由MyBatis社區開發的,所以在使用之前首先要導入mybatis-spring包,我是通過maven添加的依賴:
1 <dependency> 2 <groupId>org.mybatis</groupId> 3 <artifactId>mybatis-spring</artifactId> 4 <version>1.3.2</version> 5 </dependency>
配置MyBatis-Spring項目的步驟:
- 配置數據源
- 配置SqlSessionFactory。可以選擇的配置有SqlSessionTemplate,在同時配置SqlSessionFactory和SqlSessionTemplate的情況下,優先采用SqlSessionTemplate。
- 配置Mapper。可以配置單個Mapper,也可以通過掃描的方法生成Mapper,此時Spring IoC會生成對應接口的實例,可以通過註入方式獲取資源。
- 事務管理。
下面介紹每一步的配置方法:
一、配置數據源
在spring中配置數據源時,可以使用spring內部提供的SimpleDriverDataSource類,也可以使用第三方數據庫連接池或者從web服務中通過JNDI獲取數據源,下面是這三種方式的具體配置:
1??使用spring內部提供的類
1 <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> 2 <property name="driverClassName" value="org.postgresql.Driver" /> 3 <property name="url" value="jdbc:postgresql://localhost:5433/postgres" /> 4 <property name="username" value="postgres" /> 5 <property name="password" value="postgres" /> 6 </bean>
2??第三方數據庫連接池
如DBCP數據庫連接池,使用之前要先下載相關的jar包
1 <dependency> 2 <groupId>commons-dbcp</groupId> 3 <artifactId>commons-dbcp</artifactId> 4 <version>1.4</version> 5 </dependency>
配置方式:
1 <!-- 第一步:配置數據源--使用數據庫連接池 --> 2 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 3 <property name="driverClassName" value="org.postgresql.Driver" /> 4 <property name="url" value="jdbc:postgresql://localhost:5433/postgres" /> 5 <property name="username" value="postgres" /> 6 <property name="password" value="hyc123" /> 7 <!-- 最大數據庫連接數 --> 8 <property name="maxActive" value="100" /> 9 <!-- 最大空閑數,即等待連接數 --> 10 <property name="maxIdle" value="5" /> 11 <!-- 最大等待連接時間 --> 12 <property name="maxWait" value="10000" /> 13 </bean>
自己開發測試是可以使用第一種,但在項目中基本都用數據庫連接池的方式。
4??JNDI方式
首先要在Tomacat、WebLogic等JavaEE服務器上配置數據源,以Tomcat為例,在server.xml中增加如下配置:
1 <Resource 2 name="jdbc/pg" 3 auth="Container" 4 type="javax.sql.DataSource" 5 maxActive="100" 6 maxIdle="30" 7 maxWait="10000" 8 username="postgres" 9 password="postgres" 10 driverClassName="org.postgresql.Driver" 11 url="jdbc:postgresql://localhost:5433/postgres?useUnicode=true&characterEncoding=utf-8"/>
然後在spring中進行配置:
1 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 2 <property name="jndiName" value="jdbc/pg"></property> 3 </bean>
有關JNDI的配置可以參考大神文章:https://www.cnblogs.com/xdp-gacl/p/3951952.html
二、配置SqlSessionFactory
在mybatis中SqlSession是進行數據庫操作的關鍵,而它是由SqlSessionFactory產生的,在MyBatis-Spring中,提供了SqlSessionFactoryBean支持SqlSessionFactory的創建.在spring中的配置如下:
1 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 2 <!-- 配置數據源 --> 3 <property name="dataSource" ref="dataSource" /> 4 <!-- 配置mybatis --> 5 <property name="configLocation" value="mybatis-config2.xml" /> 6 </bean>
如上代碼中所示,SqlSessionFactory有兩個屬性:
- dataSource:配置數據源,引用上文中的任意一種配置方式;
- configLocation:mybatis配置文件的路徑;
三、配置Mapper
mapper就是mybatis中的映射器,包括一個接口和一個mapper.xml文件,在前面的mybatis中已經介紹過。配置完之後需要註意的一點是,一定要將這個mapper.xml引入mybatis的配置文件,也就是第二步中的mybatis-config2.xml文件中。
四、事務管理
這部分內容後面的文章中專門介紹。
以上就是搭建MyBatis-Spring項目的步驟,下一篇文章將介紹通過SqlSessionTemplate實現數據庫的增刪改查。
MyBatis-Spring(一)--搭建步驟