本文介绍下SpringBoot整合Mybatis(XML配置方式)的过程。java
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎全部的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。mysql
SpringBoot整合Mybatis也有两种方式,分别为XML配置方式和注解方式,主要优点点以下:git
XML映射文件也很简单,只有不多的几个顶级元素:github
本文介绍XML配置方式,后续文章再介绍注解方式。spring
新建一个spring boot项目spring-boot-mybatis-xml,按照下面步骤操做。sql
整合MyBatis的核心是依赖MyBatis-Spring-Boot-Starter,它提供了:数据库
pom.xml重要内容以下:浏览器
<!-- 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>
复制代码
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
复制代码
UserMapper.xml内容以下:springboot
<?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>
复制代码
接口的名字和映射文件的名字相同,接口中方法的名字和要调用的映射文件中的标签的id相同。
UserMapper.java代码以下:
public interface UserMapper {
List<User> queryAllUsers();
}
复制代码
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配置方式)的功能已经所有实现,有问题欢迎留言沟通哦!
完整源码地址: github.com/suisui2019/…
推荐阅读
5.SpringBoot中如何灵活的实现接口数据的加解密功能?
限时领取免费Java相关资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。 关注下方公众号便可免费领取: