1. 程式人生 > >MyBatis-Spring(一)--搭建步驟

MyBatis-Spring(一)--搭建步驟

ava vax 產生 目的 courier 文件 classname 三種方式 uri

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&amp;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(一)--搭建步驟