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

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

Spring集成MyBatis

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

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

導(dǎo)入 Jar 包

無(wú)論哪種實(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ù)庫(kù),所以導(dǎo)入 mysql 驅(qū)動(dòng) Jar 包。

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

● 所有的 jar

定義表 Student

定義實(shí)體類(lèi) Student

定義 StudentDao 接口

定義映射文件 mapper

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

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

接口定義:

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

定義 MyBatis 主配置文件

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

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

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

● 這里對(duì) mapper 映射文件的注冊(cè),使用標(biāo)簽,即只需給出 mapper 映射文件所在的包即可。因?yàn)?mapper 的名稱(chēng)與 Dao 接口名相同,可以使用這種簡(jiǎn)單注冊(cè)方式。這種方式的好處是,若有多個(gè)映射文件,這里的配置也是不用改變的。當(dāng)然,也可使用原來(lái)的 標(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 查看其類(lèi)結(jié)構(gòu)可看到,其有 driverClassName、url、username、password 四個(gè) DB 連接屬性。

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

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

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

使用地址:https://github.com/alibaba/druid/wiki/常見(jiàn)問(wèn)題

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

配置連接池:

Spring配置文件:

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

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

屬性文件名稱(chēng)隨意,但一般都是放在 src 下。

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

該屬性文件若要被 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 無(wú)需設(shè)置 id 屬性。

向 Service 注入接口名

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

Spring配置文件全部配置

全部教程
主站蜘蛛池模板: 欧美激情二区 | 免费一级毛片免费播放 | 在线久 | 久草在在线 | 337p粉嫩大胆色噜噜噜 | 精品久久久久久久久中文字幕 | 亚洲成综合 | 2020国产精品视频 | 91成人国产网站在线观看 | 国产亚洲精aa在线观看不卡 | 久久网免费视频 | 福利视频在线免费观看 | 亚洲欧美日韩中文字幕在线 | 欧美日韩亚洲精品一区二区三区 | 久久爱综合网 | 欧美成人免费全网站大片 | 国产美女做爰免费视 | 五月伊人网 | 欧美国产激情二区三区 | 日日碰狠狠添天天爽对白 | 一级片播放 | 全部免费毛片在线 | 性做久久久久免费看 | 欧美另类第一页 | 99re热久久精品这里都是精品 | 欧美高清一区二区三区欧美 | 99精品高清不卡在线观看 | 亚洲小视频 | 久久久99精品久久久久久 | 国产国语一级a毛片高清视频 | 亚洲欧美网 | 美女久久久 | 极品粉嫩粉嫩福利视频在线 | 欧美亚洲桃花综合 | 元龙第三季免费观看 | 日韩字幕一中文在线综合 | 极品毛片 | 香蕉视频在线网站 | 9191久久久久视频 | 精品国产一区二区三区香蕉沈先生 | 超激情碰碰碰啪在线视频 |