日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php框架 > 框架設(shè)計(jì) > 深入淺出Mybatis-與Spring集成

深入淺出Mybatis-與Spring集成

來(lái)源:程序員人生   發(fā)布時(shí)間:2017-02-17 09:25:04 閱讀次數(shù):3500次

單獨(dú)使用mybatis是有很多限制的(比如沒法實(shí)現(xiàn)逾越多個(gè)session的事務(wù)),而且很多業(yè)務(wù)系統(tǒng)本來(lái)就是使用spring來(lái)管理的事務(wù),因此mybatis最好與spring集成起來(lái)使用。

前置要求

版本要求

項(xiàng)目

版本

下載地址

說(shuō)明

mybatis

3.0及以上

https://github.com/mybatis/mybatis⑶/releases

 

spring

3.0及以上

http://projects.spring.io/spring-framework/

 

mybatis-spring

1.0及以上

https://github.com/mybatis/spring/releases

 

 

spring事務(wù)配置

[html] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. <!-- 自動(dòng)掃描業(yè)務(wù)包 -->  
  2. <context:component-scan base-package="com.xxx.service" />  
  3.   
  4. <!-- 數(shù)據(jù)源 -->  
  5. <jee:jndi-lookup id="jndiDataSource" jndi-name="java:comp/env/jdbc/datasource" />  
  6.   
  7. <!-- 配置事務(wù) -->  
  8. <bean id="txManager"  
  9.         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  10.     <property name="dataSource" ref="jndiDataSource" />  
  11. </bean>  
  12. <!-- 配置基于注解的事物aop -->  
  13. <tx:annotation-driven transaction-manager="txManager" proxy-target-class="true"/>  

單個(gè)集成

[html] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. <!-- 集成mybatis -->  
  2. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  3.     <property name="dataSource" ref="jndiDataSource" />  
  4.     <property name="configLocation" value="classpath:/mybatis/mybatis-config.xml" />  
  5.     <!-- 自動(dòng)配置別名 -->  
  6.     <property name="typeAliasesPackage" value="com.xxx.dto" />  
  7. </bean>  
  8.   
  9. <!--創(chuàng)建dao bean(只需提供接口不需提供實(shí)現(xiàn)類 )-->  
  10. <bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  
  11.     <property name="mapperInterface" value="com.xxx.dao.UserDao" />  
  12.     <property name="sqlSessionFactory" ref="sqlSessionFactory" />  
  13. </bean>  

我們不但要明白如何使用,更要明白為何要這么使用。

SqlSessionFactoryBean是1個(gè)工廠bean,它的作用就是解析配置(數(shù)據(jù)源、別名等)。

MapperFactoryBean是1個(gè)工廠bean,在spring容器里,工廠bean是有特殊用處的,當(dāng)spring將工廠bean注入到其他bean里時(shí),它不是注入工廠bean本身而是調(diào)用bean的getObject方法。我們接下來(lái)就看看這個(gè)getObjec方法干了些甚么:

[java] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. public T getObject() throws Exception {  
  2.   return getSqlSession().getMapper(this.mapperInterface);  
  3. }  

看到這里大家應(yīng)當(dāng)就很明白了,這個(gè)方法和我們之前單獨(dú)使用Mybatis的方式是1樣的,都是先獲得1個(gè)Sqlsession對(duì)象,然后再?gòu)腟qlsession里獲得Mapper對(duì)象(再次強(qiáng)調(diào)Mapper是1個(gè)代理對(duì)象,它代理的是mapperInterface接口,而這個(gè)接口是用戶提供的dao接口)。自然,終究注入到業(yè)務(wù)層就是這個(gè)Mapper對(duì)象。

實(shí)際的項(xiàng)目1般來(lái)講不止1個(gè)Dao,如果你有多個(gè)Dao那就依照上面的配置順次配置便可。

如何使用批量更新

前1節(jié)講了如何注入1個(gè)mapper對(duì)象到業(yè)務(wù)層, mapper的行動(dòng)依賴于配置,mybatis默許

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 日本一区二区在线视频 | 久久一精品 | 色婷婷综合成人 | 亚洲综合在线播放 | 欧美日韩亚洲综合 | 91露脸的极品国产系列 | 18av视频| 中文字幕一区二区三区在线观看 | 欧美性猛交xxxx黑人 | 免费不卡视频 | 日本天堂在线 | 99久久久国产精品免费调教网站 | 国产欧美精品区一区二区三区 | 国产精品正在播放 | 日韩精品在线一区 | 成人av集中营 | 国产黄色在线观看 | 欧美精品一区视频 | 久久亚洲精品小早川怜子66 | 天天天综合网 | 午夜精品视频 | 国产精品免费观看视频 | 亚洲国内精品 | 亚洲精品电影 | 久久久久久国产精品免费免费 | 欧美日韩aaa| 国产三级网址 | 日韩精品 电影一区 亚洲 | 久久精品2019中文字幕 | 一级毛片在线免费看 | 欧洲视频一区 | 精品影院 | 欧美午夜精品久久久久久人妖 | 国产精品久久久久9999 | 免费成人av在线 | 亚洲激情二区 | 色片免费看 | 久久久久久久综合 | 国产一区在线播放 | 亚洲三级在线 | 成人看片 |