本文介绍下SpringBoot整合Mybatis(XML配置方式)的过程。java
[TOC]mysql
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎全部的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。git
SpringBoot整合Mybatis也有两种方式,分别为XML配置方式和注解方式,主要优点点以下:github
XML映射文件也很简单,只有不多的几个顶级元素:spring
本文介绍XML配置方式,后续文章再介绍注解方式。sql
新建一个spring boot项目spring-boot-mybatis-xml,按照下面步骤操做。数据库
1.pom.xml中引入jar浏览器
整合MyBatis的核心是依赖MyBatis-Spring-Boot-Starter,它提供了:缓存
pom.xml重要内容以下:springboot
<!-- mybatis-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency> <!-- MySQL 链接驱动依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
2.application.yml中添加配置
application.yml中添加数据源和mybatis的配置,内容以下:
spring: #数据源 datasource: url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver #mybatis配置 mybatis: typeAliasesPackage: com.example.springboot.mybatisxml.entity mapperLocations: classpath:mapper/*.xml config-location: classpath:mybatis-config.xml
3.添加User的映射文件
UserMapper.xml内容以下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace= "com.example.springboot.mybatisxml.dao.mapper.UserMapper" > <resultMap id ="UserMap" type="com.example.springboot.mybatisxml.entity.User"> <result column="id" property="id"/> <result column="name" property="name"/> <result column="sex" property="sex"/> <result column="password" property="password"/> <result column="des" property="des"/> </resultMap> <select id = "queryAllUsers" resultType= "com.example.springboot.mybatisxml.entity.User"> select * from user </select> </mapper>
4.添加dao接口
接口的名字和映射文件的名字相同,接口中方法的名字和要调用的映射文件中的标签的id相同。
UserMapper.java代码以下:
public interface UserMapper { List<User> queryAllUsers(); }
5.添加访问控制层
UserController代码以下:
/** * UserController * * @Author: java_suisui * */ @Slf4j @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; /** * 查询 全部用户 * */ @GetMapping("/queryAllUsers") public List<User> queryAllUsers(){ return userService.queryAllUsers(); } }
本地打开浏览器,访问http://localhost:8080/user/queryAllUsers,成功后返回以下结果:
[{"id":1,"name":"张三","password":"123456","sex":0,"des":"无备注"}, {"id":2,"name":"李四","password":"123456","sex":0,"des":"无备注"}]
到此SpringBoot整合Mybatis(XML配置方式)的功能已经所有实现,有问题欢迎留言沟通哦!
完整源码地址: https://github.com/suisui2019/springboot-study
推荐阅读
5.SpringBoot中如何灵活的实现接口数据的加解密功能?
限时领取免费Java相关资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。 关注下方公众号便可免费领取: