最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring整合Mybatis思路梳理總結(jié)

 更新時(shí)間:2022年02月12日 15:08:40   作者:一切隨緣~~~  
MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作,本篇文章帶你了解Spring整合Mybatis的思路

Spring整合Myabtis思路的分析

引入相關(guān)依賴

Spring

Myabtis

mysql

Mybatsi-spring

如何整合?

Spring:

項(xiàng)目管理框架,主要是用來(lái)負(fù)責(zé)項(xiàng)目中組件對(duì)象的創(chuàng)建,使用,銷毀。

Mybatis:

持久層框架,主要是用來(lái)簡(jiǎn)化原始jdbc技術(shù)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)操作。

== >整合思路:通過(guò)Spring框架接管Mybatis框架中核心對(duì)象的創(chuàng)建。

Mybatis框架中核心對(duì)象是誰(shuí)?

  • sqlSession?
  • SqlSessionFactory?
  • SqlSessionFactoryBuilder?
  • dao?

最核心的對(duì)象必然是:SqlSessionFactory。

SqlSessionFactoryBuilder的作用就是讀取解析配置文件==【數(shù)據(jù)源配置,mapper文件配置】==,來(lái)創(chuàng)建SqlSessionFactory。

SqlSession的創(chuàng)建又依靠于SqlSessionFactory。

== > SqlSessionFactory是最核心的對(duì)象。

SM整合

整合思路:通過(guò)Spring框架接管Mybatis中核心的SqlSessionFactory對(duì)象的創(chuàng)建。

SqlSessionFactory是簡(jiǎn)單對(duì)象還是復(fù)雜對(duì)象呢?

如果是簡(jiǎn)單對(duì)象

<bean id="" class=""/>

如果是復(fù)雜對(duì)象

通過(guò)查看源碼得知,SqlSessionFactory是一個(gè)接口類型的復(fù)雜對(duì)象。

如何創(chuàng)建?

is = Resources.getResourceAsStream("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder(),build(is);
1).SqlSessionFactory(Factory)Bean implements FactoryBean<SqlSessionFactory> {
  	SqlSessionFactory getObject() {
        is = Resources.getResourceAsStream("mybatis-config.xml");
		sqlSessionFactory = new SqlSessionFactoryBuilder(),build(is);
    }	  
    Class getClass() {
        return SqlSessionFactory.class;
    }
    boolean isSingleton() {
        return true;
    }
 }
2).工廠管理SqlSessionFactory
<bean id="sqlSessionFactory" class="xxx.SqlSessionFactoryBean">
3).工廠獲取
SqlSessionFactory sf = context.getBean("sqlSessionFactory");

寫完之后,我們可以發(fā)現(xiàn),這段代碼是固定不變的,這個(gè)項(xiàng)目要寫,別的項(xiàng)目也要寫。

于是Mybatis官方替我們寫好了,對(duì)這段代碼進(jìn)行了封裝:Mybatis-spring.jar。

jar包里提供了一個(gè)類:SqlSessionFactoryBean。

我們以后只要引Mybatsi-spring依賴就可以了,不用在自己去寫了。

值得注意的是:mybatis官方提供SqlSessionFactoryBean,不在使用mybaits主配置文件。

主配置文件的核心就是【數(shù)據(jù)源】【mapper文件的注冊(cè)】

所以我們要注入數(shù)據(jù)源對(duì)象,引入druid依賴,注入mapper文件的位置?!綝I思想,依賴注入】

<!-- 配置Spring.xml文件 -->

<!-- 創(chuàng)建數(shù)據(jù)源對(duì)象 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" >
	<property name="driverName" value="com.mysql.cj.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/xxx"/>
    <property name="username" value="root"/>
    <property name="password" value="root"/>
<bean/>

<!-- 創(chuàng)建SqlSessionFactory對(duì)象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 注入數(shù)據(jù)源對(duì)象 -->
    <property name="dataSource" ref="dataSource" />
    <!-- 注入mapper文件的位置 -->
    <property name="mapperLocations">
        <array>
            <value>.....</value>
        </array>
    </property>
<bean/>

到此這篇關(guān)于Spring整合Mybatis思路梳理總結(jié)的文章就介紹到這了,更多相關(guān)Spring整合Mybatis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

扬州市| 马边| 深州市| 嘉祥县| 承德县| 大石桥市| 磐安县| 阳山县| 商南县| 青神县| 延长县| 遂平县| 前郭尔| 武城县| 新邵县| 新巴尔虎右旗| 旬邑县| 寿阳县| 望江县| 乳源| 新密市| 会昌县| 邹城市| 南溪县| 青龙| 特克斯县| 津市市| 宿迁市| 南涧| 视频| 大新县| 民权县| 沾化县| 临海市| 固安县| 星子县| 禹州市| 滦南县| 封丘县| 印江| 营口市|