javascript
Spring学习笔记--spring+mybatis集成
?
前言:
技術的發展, 真的是日新月異. 作為javaer, 都不約而同地拋棄裸寫jdbc代碼, 而用各種持久化框架. 從hibernate, Spring的JDBCTemplate, 到ibatis, 以及ibatis的升級版mybatis. 從基本的xml配置, 也逐漸演化為注解方式配置.
技術的進步意味著, 你需要時刻保持一顆進步的心. 即便你經驗豐富, 學識淵博. 但新技術的革命, 使得新人輕松超越. 希望作為一個技術人員, 始終有顆年輕的心.
本文將講述一下, spring+mybatis的配置方式, 權當學習筆記.
mybatis配置:
mybatis-config.xml配置文件, 一般包含如下內容:
其中, typeAliase用于指定類的別名, 用于簡寫. environment用于設置datasource和transactionManager的細節. mapper則指定了具體要載入的mapper.xml文件.
mybatis可以脫離spring來運行, 具體不再展開, 詳見后續的學習筆記.
spring集成:
mybatis和spring集成時, 其mybatis-config.xml中的environment標簽將被自動忽略. 這個是大前提.
基本的關鍵詞是: datasource, sqlsessionfactory, sqlsession, sqlmapper.
spring+mybatis配置方式有很多, 有暴露sqlsession, 也有借助SqlSessionDaoSupport類隱藏sqlsession. 這邊講述其中一種方式.
1) 配置Datasource
2) 配置SqlSessionFactoryBean
<!-- 配置SqlSessionFactoryBean --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath*:mybatis/*.xml" /><!--<property name="configLocation" value="classpath:mybatis.xml"/>--> </bean>3) 配置MapperScannerConfigurer
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" ><property name="basePackage" value="com.springapp.mvc.sqlmapper" /><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean>4) 配置TransactionManager
<!-- 配置Spring的事務管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /> </bean> 以上就是整個spring+mybatis的一個相對完整的配置, 當然由于版本升級, 不同spring和mybatis細節上是有差異的.
這邊選用的版本為mybatis為3.3.0, mybatis-spring為1.2.3.
SqlMapper的JAVA樣例代碼如下:
public interface MessageMapper {@Select("SELECT * FROM tb_message WHERE message_id = #{message_id}")Message queryMessage(@Param("message_id") int messageId);}其在MapperScanner后, 生成了一個代理類用于處理sql的執行和請求響應的映射處理. 同時在spring容器中按類型注入.
springmvc集成:
作為web應用的話, 需要指定并載入相關的配置信息.
假設所有的spring+mybatis的集成, 都在alicationContext.xml文件中配置.
在web.xml中, 添加如下代碼:
總結:
感覺有些潦草, 并沒有形成一個完整的可運行的小例子. 所幸我自己能看懂, ^_^. Mybatis涉及的知識點很多, 希望后續的學習能好好補上. 推薦參考書籍<<Java Persistence With Mybatis 3>>, 以及大神的博文鏈接.?
公眾號&游戲站點:
個人微信公眾號:?木目的H5游戲世界
?
總結
以上是生活随笔為你收集整理的Spring学习笔记--spring+mybatis集成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 专车降价滴滴快车使命终结?
- 下一篇: jsp:include和%@includ