文章目录

  • 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&amp;useUnicode=true&amp;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相关推荐

  1. spring boot 1.5.4 整合 mybatis(十二)

    上一篇:spring boot 1.5.4 整合log4j2(十一) Spring Boot集成Mybatis 更多更详细的配置参考文件:application.properties和<Spri ...

  2. eureka集群只注册一个_Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇

    Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇 本文主要内容: 1:spring cloud整合Eureka总结 本文是由凯哥(凯哥Java:kagejava ...

  3. Spring Boot入门系列(十八)整合mybatis,使用注解的方式实现增删改查

    之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询.虽然目前 mybatis 使用xml 配置的方式 已经极大减轻 ...

  4. SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源

    这篇文章主要介绍,通过Spring Boot整合Mybatis后如何实现在一个工程中实现多数据源.同时可实现读写分离. 准备工作 环境: windows jdk 8 maven 3.0 IDEA 创建 ...

  5. SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源 1

    这篇文章主要介绍,通过Spring Boot整合Mybatis后如何实现在一个工程中实现多数据源.同时可实现读写分离. 准备工作 环境: windows jdk 8 maven 3.0 IDEA 创建 ...

  6. spring boot(十五)spring boot+thymeleaf+jpa增删改查示例

    快速上手 配置文件 pom包配置 pom包里面添加jpa和thymeleaf的相关包引用 <dependency><groupId>org.springframework.bo ...

  7. spring源码学习之整合Mybatis原理分析

    本文主要解析spring是如何与mybatis进行整合,整合的过程中需要哪些组件的支持.以前面提到过的配置例子<spring源码学习之aop事物标签解析> 整合的过程中需要使用以下这个依赖 ...

  8. spring boot实战(第十篇)Spring boot Bean加载源码分析

    前言 前面的文章描述了Application对应Bean的创建,本篇将阐述spring boot中bean的创建过程 refresh 首先来看SpringApplication#run方法中refre ...

  9. Spring自学日志07(整合Mybatis)

    具体步骤 1.导入相关jar包 .junit .mybatis .mysql数据库 .spring相关 .AOP支持 .mybatis-spring[new] build.gradle plugins ...

最新文章

  1. 搭建Harbor 2.x仓库 - docker私仓搭建
  2. c的开始,求最大数。
  3. 抓包概念大比较:数据报、数据包、分组
  4. 每日一皮:当你修bug时,是否碰到过这种场景...
  5. mysql5.6 错误日志_MySQL5.6.36 日志文件之错误日志,二进制日志,慢日志
  6. python format
  7. oracle 11g备份,导入oracle 10g
  8. Opencv判断是否加载图片的两种方法
  9. E95-DTU(4G01-485)数传电台的特点及其应用详解
  10. html中擦窗效果,纯CSS写的小雨打在窗户上效果
  11. win7 oracle数据库删除用户名,win7操作系统、 oracle10g 数据库创建、卸载 用户名的创建 、删除...
  12. 客户端分析php代码,分享:一个简单的全网解析客户端代码。
  13. Prefuse 4未完
  14. 16.进程间的通信:管道
  15. python 怎么把 写好的代码 放到服务器执行_给 Python 初学者解答了无数遍的 Python 环境相关问题...
  16. 顶顶通软电话介绍-一个网络电话客户端(SIP软电话)
  17. 李乐为担任BCF理事
  18. PIKA trouble01 -- pika主从关系不能建立及主从断连问题
  19. windows 查看端口号
  20. JVM调优专题-JVM调试工具

热门文章

  1. XML_CPP_资料_libXml2_01
  2. Microsoft Dynamics CRM MVP
  3. iOS之网络数据下载和JSON解析
  4. 浏览器的加载顺序与页面性能优化
  5. win10 2004更新完成之后出现进不去系统的问题
  6. 戴尔电脑开机之后闪黄灯系统不能启动
  7. TIF合并Java代码
  8. VBA中的数据字典,可以理解为Java中的Map
  9. Doc命令之 cd,(跳转到别的盘符)。
  10. 2011年1月28日早会资料「招き猫」(汉语版)