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

歡迎訪問 生活随笔!

生活随笔

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

javascript

Spring学习12之整合Mybatis

發布時間:2025/3/21 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring学习12之整合Mybatis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Spring兩大核心,IOC,AOP。

一、整合Mybatis

1.編寫數據源配置
2.sqlSessionFactory
3.sqlSessionTemplate
4.需要給接口加實現類
5.將自己寫的實現類,注入到Spring中
6.測試使用即可!

二、使用步驟

1.配置文件

mybatis xml配置文件

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <!--核心配置文件--> <configuration><!--設置--><settings><!--駝峰命名規則開啟,字段自動轉駝峰--><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!--可以給實體類起別名,掃描包的默認為這個類的首字母小寫的類名--><typeAliases><package name="com.shan.pojo"/></typeAliases></configuration>

mapper.xml

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.shan.mapper.UserMapper"><select id="getUser" resultType="user">select * from mybatis.user</select></mapper>

Spring xml配置

<?xml version="1.0" encoding="UTF8" ?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--DataSource:使用Spring的數據源替換Mybatis的配置 c3p0,dbcp我們這里使用Spring提供的JDBC:org.springframework.jdbc.datasource.DriverManagerDataSource--><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf-8"/><property name="username" value="root"/><property name="password" value="123456"/></bean><!--sqlSessionFactory--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><!--在這里可以綁定Mybatis-config的配置文件--><property name="configLocation" value="mybatis-config.xml"/><property name="mapperLocations" value="com/shan/mapper/*.xml"/></bean><!--獲取SqlSessionTemplate:就是mybatis使用的sqlSession--><bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"><!--只能使用構造器進行注入sqlSessionFactory,查看源碼,因為它沒有set方法--><constructor-arg index="0" ref="sqlSessionFactory"/></bean><!--給接口加實現類,用實現類去完成方法,只需要傳入一個sqlSession就能執行全部操作--><bean id="userMapper" class="com.shan.mapper.UserMapperImpl"><property name="sqlSession" ref="sqlSession"/></bean><bean id="userMapper2" class="com.shan.mapper.UserMapperImpl2"><property name="sqlSessionFactory" ref="sqlSessionFactory"/><!--二選一就好了--><!--<property name="sqlSessionTemplate" ref="sqlSession"/>--></bean></beans>

2.類文件

實體類

package com.shan.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString;@Data @ToString @NoArgsConstructor @AllArgsConstructor public class User {private int id;private String name;private String pwd;}

接口

package com.shan.mapper;import com.shan.pojo.User;import java.util.List;public interface UserMapper {List<User> getUser(); }

實現類

package com.shan.mapper;import com.shan.pojo.User; import org.mybatis.spring.SqlSessionTemplate;import java.util.List;public class UserMapperImpl implements UserMapper{//現在全部使用SqlSessionTemplate來執行所有操作,我們只需要給實現了丟入一個sqlSession就行了private SqlSessionTemplate sqlSession;public void setSqlSession(SqlSessionTemplate sqlSession) {this.sqlSession = sqlSession;}@Overridepublic List<User> getUser() {UserMapper mapper = sqlSession.getMapper(UserMapper.class);return mapper.getUser();} } package com.shan.mapper;import com.shan.pojo.User; import org.apache.ibatis.session.SqlSession; import org.mybatis.spring.support.SqlSessionDaoSupport;import java.util.List;public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper {@Overridepublic List<User> getUser() {SqlSession sqlSession = getSqlSession();return sqlSession.getMapper(UserMapper.class).getUser();}}

剩下最后一步測試,大家自己動手做一做加深印象!

總結

使用Spring提供的JDBC數據源,數據源需要org.springframework.jdbc.datasource.DriverManagerDataSource
sqlSessionFactory需要org.mybatis.spring.SqlSessionFactoryBean這個類,這個類有個參數需要數據源,把Spring提供的數據源丟入。在這里可以綁定Mybaitis核心配置文件!
獲取sqlSession有兩種方式:

  • 一種需要org.mybatis.spring.SqlSessionTemplate這個類,SqlSessionTemplate有個參數需要丟入sqlSessionFactory
  • 另一種繼承SqlSessionDaoSupport這個類,調用getSqlSession()的方法獲取sqlSession,需要引用sqlSessionFactory這個類

作者有話說

博客創作不易,希望看到這里的讀者動動你的小手點個贊,如果喜歡的小伙伴可以一鍵三連,作者大大在這里給大家謝謝了。

總結

以上是生活随笔為你收集整理的Spring学习12之整合Mybatis的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。