大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Spring框架教程
Spring IOC控制反轉(zhuǎn)
Spring AOP面向切面編程
Spring集成MyBatis
Spring事務(wù)
Spring與Web

Spring集成MyBatis

將 MyBatis 與 Spring 進(jìn)行整合,主要解決的問題就是將 SqlSessionFactory 對(duì)象交由 Spring 來管理。所以,該整合,只需要將 SqlSessionFactory 的對(duì)象生成器 SqlSessionFactoryBean 注冊(cè)在 Spring 容器中,再將其注入給 Dao 的實(shí)現(xiàn)類即可完成整合。

實(shí)現(xiàn) Spring 與 MyBatis 的整合常用的方式:掃描的 Mapper 動(dòng)態(tài)代理

導(dǎo)入 Jar 包

無論哪種實(shí)現(xiàn)方式,均需要首先完成 Jar 包的導(dǎo)入。

● mybatis 的 Jar 包

● Spring 的 Jar 包

● mybatis 與 Spring 整合 Jar 包

該 Jar 包需要從 mybatis 官網(wǎng)下載。登錄 MyBatis 的下載官網(wǎng),下載地址:https://github.com/mybatis/spring/releases

下載后使用:

● 其它 Jar 包

程序需要使用 JUnit 進(jìn)行測(cè)試,所以導(dǎo)入 JUnit 的 Jar 包。

連接 mysql 數(shù)據(jù)庫,所以導(dǎo)入 mysql 驅(qū)動(dòng) Jar 包。

連接數(shù)據(jù)庫使用 Druid 連接池和 DBCP 連接池,所以導(dǎo)入 Druid 和 DBCP 的 jar 包。

● 所有的 jar

定義表 Student

定義實(shí)體類 Student

定義 StudentDao 接口

定義映射文件 mapper

在 Dao 接口的包中創(chuàng)建 MyBatis 的映射文件 mapper,命名與接口名相同,本例為StudentDao.xml。mapper 中的 namespace 取值也為 Dao 接口的全限定性名。

定義Service 接口和實(shí)現(xiàn)類

接口定義:

實(shí)現(xiàn)類定義:

定義 MyBatis 主配置文件

在 src 下定義 MyBatis 的主配置文件,命名為 mybatis.xml。

這里有兩點(diǎn)需要注意:

● 主配置文件中不再需要數(shù)據(jù)源的配置了。因?yàn)閿?shù)據(jù)源要交給 Spring 容器來管理了。

● 這里對(duì) mapper 映射文件的注冊(cè),使用標(biāo)簽,即只需給出 mapper 映射文件所在的包即可。因?yàn)?mapper 的名稱與 Dao 接口名相同,可以使用這種簡(jiǎn)單注冊(cè)方式。這種方式的好處是,若有多個(gè)映射文件,這里的配置也是不用改變的。當(dāng)然,也可使用原來的 標(biāo)簽方式。

修改Spring 配置文件

1、 數(shù)據(jù)源的配置

使用 JDBC 模板,首先需要配置好數(shù)據(jù)源,數(shù)據(jù)源直接以 Bean 的形式配置在 Spring 配置文件中。根據(jù)數(shù)據(jù)源的不同,其配置方式不同。下面主要講解二種常用數(shù)據(jù)源的配置方式:

● DBCP 數(shù)據(jù)源

● Druid 數(shù)據(jù)源

A、DBCP 數(shù)據(jù)源 BasicDataSource

DBCP,DataBase Connection Pool,是 apache 下的項(xiàng)目.

官網(wǎng):http://commons.apache.org/proper/commons-dbcp/

使用該數(shù)據(jù)源,需要導(dǎo)入兩個(gè) Jar 包:dbcp , commons-pool2

依賴的 commons-pool2 的下載地址:http://commons.apache.org/proper/commons-pool/download_pool.cgi

DBCP 數(shù)據(jù)源是 BasicDataSource,Ctrl + O 查看其類結(jié)構(gòu)可看到,其有 driverClassName、url、username、password 四個(gè) DB 連接屬性。

B、Druid 數(shù)據(jù)源 DruidDataSource

Druid 是阿里的開源數(shù)據(jù)庫連接池。 是 Java 語言中最好的數(shù)據(jù)庫連接池。Druid能夠提供強(qiáng)大的監(jiān)控和擴(kuò)展功能。Druid 與其他數(shù)據(jù)庫連接池的最大區(qū)別是提供數(shù)據(jù)庫的監(jiān)控功能。

官網(wǎng):https://github.com/alibaba/druid

使用地址:https://github.com/alibaba/druid/wiki/常見問題

配置數(shù)據(jù)庫監(jiān)控:

配置連接池:

Spring配置文件:

2、從屬性文件讀取數(shù)據(jù)庫連接信息

為了便于維護(hù),可以將數(shù)據(jù)庫連接信息寫入到屬性文件中,使 Spring 配置文件從中讀取數(shù)據(jù)。

屬性文件名稱隨意,但一般都是放在 src 下。

Spring 配置文件從屬性文件中讀取數(shù)據(jù)時(shí),需要在的 value 屬性中使用${ },將在屬性文件中定義的 key 括起來,以引用指定屬性的值。

該屬性文件若要被 Spring 配置文件讀取,其必須在配置文件中進(jìn)行注冊(cè)。使用 標(biāo)簽。

<context:property-placeholder/>方式

該方式要求在 Spring 配置文件頭部加入 spring-context.xsd 約束文件

標(biāo)簽中有一個(gè)屬性 location,用于指定屬性文件的位置。

3、注冊(cè) SqlSessionFactoryBean

4、定義 Mapper 掃描配置器 MapperScannerConfigurer

Mapper 掃描配置器 MapperScannerConfigurer 會(huì)自動(dòng)生成指定的基本包中 mapper 的代理對(duì)象。該 Bean 無需設(shè)置 id 屬性。

向 Service 注入接口名

向 Service 注入 Mapper 代理對(duì)象時(shí)需要注意,由于通過 Mapper 掃描配置器MapperScannerConfigurer 生成的 Mapper 代理對(duì)象沒有名稱,所以在向 Service 注入 Mapper代理時(shí),無法通過名稱注入。但可通過接口的簡(jiǎn)單類名注入,因?yàn)樯傻氖沁@個(gè) Dao 接口的對(duì)象。

Spring配置文件全部配置

全部教程
主站蜘蛛池模板: 夜夜艹日日干 | 91热爆国产露脸 | 在线视频日韩精品 | 亚洲视频久久 | 免费爱爱小视频 | 精品欧美一区二区三区 | 久久久久综合中文字幕 | 欧美日韩国产精品 | 狠狠色香婷婷久久亚洲精品 | 综合色在线 | 亚洲视频不卡 | 狠狠色狠狠色88综合日日91 | 色综合久久88色综合天天小说 | 精品九九在线 | 日韩免费一级毛片欧美一级日韩片 | 欧美另类videos粗暴黑人 | 深夜影院老司机69影院 | 日韩精品高清自在线 | 精品视频网 | 亚洲视频三级 | 天天干天天色综合网 | 国产色av | 色五婷婷| 国产精品福利自产拍网站 | 亚洲综合精品香蕉久久网 | 国产高清a毛片在线看 | 四虎www成人影院 | 手机看片国产欧美日韩高清 | 天天射天天色天天干 | 波多野结衣在线一区二区 | 四虎永久免费884hutv | 精品少妇一区二区三区视频 | 2021久久精品99精品久久 | 青青草国产97免久久费观看 | 色视频网站在线观看 | 国产精品视频男人的天堂 | 伊人中文字幕在线 | 国产精品国产福利国产秒拍 | 国产一区二区免费在线观看 | 国产婷婷色 | 手机看片福利在线 |