【Spring第十篇】Spring整合Mybatis
文章目录
- 1.配置数据源文件:在resources目录下创建db.properties
- 2.编写mybatis-config.xml文件
- 3.编写spring-dao.xml配置文件
- 4.将mybati以及spring整合在一个ApplicationContext.xml
导包:
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.9</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.16</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.16</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.8</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.7</version></dependency></dependencies>
资源导出问题:
<build><resources><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes></resource><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources>
</build>
1.配置数据源文件:在resources目录下创建db.properties
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf-8
username=root
password=123456
2.编写mybatis-config.xml文件
用于mybatis的配置文件
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--configuration核心配置文件-->
<configuration><!-- 重点:引入外部配置文件--><properties resource="db.properties"/><settings><!-- 自带的日志文件--><setting name="logImpl" value="STDOUT_LOGGING"/><!-- 开启驼峰命名转换--><setting name="mapUnderscoreToCamelCase" value="true"/><!-- 显示的开启全局缓存--><setting name="cacheEnabled" value="true"/><!-- 设置sql超时时间--><setting name="defaultStatementTimeout" value="3" /></settings><!-- 给实体类起别名别名--><typeAliases><typeAlias type="com.kk.pojo.User" alias="User"/></typeAliases></configuration>
3.编写spring-dao.xml配置文件
用于spring配置文件,并且连接mybatis的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 读取 db.properties 配置文件--><context:property-placeholder location="classpath:db.properties"/><!-- DataSource 使用Spring的数据源替换Mybatis的配置
我们这里使用Spring提供的JDBC org.springframework.jdbc.datasource--><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>-->
<!-- <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf-8"/>-->
<!-- <property name="username" value="root"/>-->
<!-- <property name="password" value="123456"/>--><property name="driverClassName" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${user}"/><property name="password" value="${password}"/></bean><!-- sqlSessionFactory --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><!-- 绑定Mybatis配置文件--><property name="configLocation" value="classpath:mybatis-config.xml"/><property name="mapperLocations" value="classpath:com/kk/mapper/*.xml"/></bean><!-- SqlSessionTemplate 就是我们使用的sqlSession--><bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"><!-- 只能使用构造器注入sqlSessionFactory,因为ta没有set方法--><constructor-arg index="0" ref="sqlSessionFactory"/></bean></beans>
4.将mybati以及spring整合在一个ApplicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><import resource="spring_dao.xml"/><bean id="userMapper" class="com.kk.mapper.UserMapperImpl"><property name="sqlSession" ref="sqlSession"/></bean></beans>
实体类 User
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {private int id;private String username;private String password;}
mapper层
UserMapper
接口
public interface UserMapper {public List<User> selectUser();}
UserMapper.xml
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.kk.mapper.UserMapper"><select id="selectUser" resultType="User">select * from mybatis.user ;</select></mapper>
接口实现类 UserMapperImpl
public class UserMapperImpl implements UserMapper{//我们的所有操作,,在原来都使用SqlSession来执行,现在都使用SqlSessionTemple;private SqlSessionTemplate sqlSession;//需要将它注入进来public void setSqlSession(SqlSessionTemplate sqlSession) {this.sqlSession = sqlSession;}@Overridepublic List<User> selectUser() {UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userList = mapper.selectUser();return userList;}
}
拓展:使用实现类继承SqlSessionDaoSupport
UserMapperImpl2
public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper{@Overridepublic List<User> selectUser() {SqlSession sqlSession = getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userList = mapper.selectUser();return userList;}
}
在spring_dao.xml中加入以下字段
<!-- 整合mybatis方式2--><bean id="userMapper2" class="com.kk.mapper.UserMapperImpl2"><property name="sqlSessionFactory" ref="sqlSessionFactory"/></bean>
【Spring第十篇】Spring整合Mybatis相关推荐
- spring boot 1.5.4 整合 mybatis(十二)
上一篇:spring boot 1.5.4 整合log4j2(十一) Spring Boot集成Mybatis 更多更详细的配置参考文件:application.properties和<Spri ...
- eureka集群只注册一个_Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇
Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇 本文主要内容: 1:spring cloud整合Eureka总结 本文是由凯哥(凯哥Java:kagejava ...
- Spring Boot入门系列(十八)整合mybatis,使用注解的方式实现增删改查
之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询.虽然目前 mybatis 使用xml 配置的方式 已经极大减轻 ...
- SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源
这篇文章主要介绍,通过Spring Boot整合Mybatis后如何实现在一个工程中实现多数据源.同时可实现读写分离. 准备工作 环境: windows jdk 8 maven 3.0 IDEA 创建 ...
- SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源 1
这篇文章主要介绍,通过Spring Boot整合Mybatis后如何实现在一个工程中实现多数据源.同时可实现读写分离. 准备工作 环境: windows jdk 8 maven 3.0 IDEA 创建 ...
- spring boot(十五)spring boot+thymeleaf+jpa增删改查示例
快速上手 配置文件 pom包配置 pom包里面添加jpa和thymeleaf的相关包引用 <dependency><groupId>org.springframework.bo ...
- spring源码学习之整合Mybatis原理分析
本文主要解析spring是如何与mybatis进行整合,整合的过程中需要哪些组件的支持.以前面提到过的配置例子<spring源码学习之aop事物标签解析> 整合的过程中需要使用以下这个依赖 ...
- spring boot实战(第十篇)Spring boot Bean加载源码分析
前言 前面的文章描述了Application对应Bean的创建,本篇将阐述spring boot中bean的创建过程 refresh 首先来看SpringApplication#run方法中refre ...
- Spring自学日志07(整合Mybatis)
具体步骤 1.导入相关jar包 .junit .mybatis .mysql数据库 .spring相关 .AOP支持 .mybatis-spring[new] build.gradle plugins ...
最新文章
- 搭建Harbor 2.x仓库 - docker私仓搭建
- c的开始,求最大数。
- 抓包概念大比较:数据报、数据包、分组
- 每日一皮:当你修bug时,是否碰到过这种场景...
- mysql5.6 错误日志_MySQL5.6.36 日志文件之错误日志,二进制日志,慢日志
- python format
- oracle 11g备份,导入oracle 10g
- Opencv判断是否加载图片的两种方法
- E95-DTU(4G01-485)数传电台的特点及其应用详解
- html中擦窗效果,纯CSS写的小雨打在窗户上效果
- win7 oracle数据库删除用户名,win7操作系统、 oracle10g 数据库创建、卸载 用户名的创建 、删除...
- 客户端分析php代码,分享:一个简单的全网解析客户端代码。
- Prefuse 4未完
- 16.进程间的通信:管道
- python 怎么把 写好的代码 放到服务器执行_给 Python 初学者解答了无数遍的 Python 环境相关问题...
- 顶顶通软电话介绍-一个网络电话客户端(SIP软电话)
- 李乐为担任BCF理事
- PIKA trouble01 -- pika主从关系不能建立及主从断连问题
- windows 查看端口号
- JVM调优专题-JVM调试工具