日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring学习笔记--spring+mybatis集成

發(fā)布時間:2025/4/16 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring学习笔记--spring+mybatis集成 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

前言:
  技術(shù)的發(fā)展, 真的是日新月異. 作為javaer, 都不約而同地拋棄裸寫jdbc代碼, 而用各種持久化框架. 從hibernate, Spring的JDBCTemplate, 到ibatis, 以及ibatis的升級版mybatis. 從基本的xml配置, 也逐漸演化為注解方式配置.
  技術(shù)的進步意味著, 你需要時刻保持一顆進步的心. 即便你經(jīng)驗豐富, 學(xué)識淵博. 但新技術(shù)的革命, 使得新人輕松超越. 希望作為一個技術(shù)人員, 始終有顆年輕的心.
  本文將講述一下, spring+mybatis的配置方式, 權(quán)當學(xué)習(xí)筆記.

mybatis配置:
  mybatis-config.xml配置文件, 一般包含如下內(nèi)容:

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <typeAlias alias="Sample" type="com.sample.Sample" /> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/sample/mapper/SampleMapper.xml" /> </mappers> </configuration>

  其中, typeAliase用于指定類的別名, 用于簡寫. environment用于設(shè)置datasource和transactionManager的細節(jié). mapper則指定了具體要載入的mapper.xml文件.
  mybatis可以脫離spring來運行, 具體不再展開, 詳見后續(xù)的學(xué)習(xí)筆記.

spring集成:
  mybatis和spring集成時, 其mybatis-config.xml中的environment標簽將被自動忽略. 這個是大前提.
  基本的關(guān)鍵詞是: datasource, sqlsessionfactory, sqlsession, sqlmapper.
  spring+mybatis配置方式有很多, 有暴露sqlsession, 也有借助SqlSessionDaoSupport類隱藏sqlsession. 這邊講述其中一種方式.
  1) 配置Datasource

<!--創(chuàng)建jdbc數(shù)據(jù)源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/><property name="username" value="root"/><property name="password" value=""/><property name="maxActive" value="10"/><property name="maxIdle" value="2"/><property name="minIdle" value="2"/> </bean>

  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的事務(wù)管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /> </bean>

  以上就是整個spring+mybatis的一個相對完整的配置, 當然由于版本升級, 不同spring和mybatis細節(jié)上是有差異的.
  這邊選用的版本為mybatis為3.3.0, mybatis-spring為1.2.3.

<!-- mybatis & mybatis-spring --> <dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version> </dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.3</version> </dependency>

  SqlMapper的JAVA樣例代碼如下:

public interface MessageMapper {@Select("SELECT * FROM tb_message WHERE message_id = #{message_id}")Message queryMessage(@Param("message_id") int messageId);}

  其在MapperScanner后, 生成了一個代理類用于處理sql的執(zhí)行和請求響應(yīng)的映射處理. 同時在spring容器中按類型注入.

springmvc集成:
  作為web應(yīng)用的話, 需要指定并載入相關(guān)的配置信息.
  假設(shè)所有的spring+mybatis的集成, 都在alicationContext.xml文件中配置.
  在web.xml中, 添加如下代碼:

<!-- 添加spring相關(guān)的配置文件&屬性--> <context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:applicationContext*.xml</param-value> </context-param> <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

總結(jié):
  感覺有些潦草, 并沒有形成一個完整的可運行的小例子. 所幸我自己能看懂, ^_^. Mybatis涉及的知識點很多, 希望后續(xù)的學(xué)習(xí)能好好補上. 推薦參考書籍<<Java Persistence With Mybatis 3>>, 以及大神的博文鏈接.?

公眾號&游戲站點:
  個人微信公眾號:?木目的H5游戲世界
  

?

總結(jié)

以上是生活随笔為你收集整理的Spring学习笔记--spring+mybatis集成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。