整合mybatis首先在pom.xml文件中引入mybatis依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
创建如下目录结构
mybatis-config.xml是mybatis的配置文件,这个是必须有的,在这里我们没有什么特殊的配置,只在这个文件里写个文件头和标签就行了,userNewMapper.xml就是我们要用到的写SQL的mapper文件了
然后要使这两个文件生效,在springboot的配置文件application.yml文件中增加如下配置:
mybatis:
config-location: classpath:mybatis/mybatis-config.xml
mapper-locations: classpath:mybatis/mapper/*.xml
要注意mybatis:这一行是跟spring:是平级的,不要带缩进
整合部分到此基本上就是完成了,接下来我们来写一些代买来验证一下
首先我们先建立一张user表,表里有id和name两个字段
然后我们建立一个实体类,代码如下:
public class User {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
然后我们写一个操作数据库的dao层接口:
@Mapper
public interface UserXmlMapper {
public User getUserById(Integer id);
public void insertUser(User user);
}
不能忘了要加上@Mapper
然后添加userNewMapper.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.aiguigu.springboot.mapper.UserXmlMapper">
<select id="getUserById" resultType="com.aiguigu.springboot.bean.User">
select * from user where id = #{id}
</select>
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
INSERT INTO USER (NAME )VALUES (#{name})
</insert>
</mapper>
这里解释一下useGeneratedKeys这个参数,这个参数只在insert时生效,默认值为false,当置为true的时候,表示插入数据时,以自增字段为主键的时候,JDBC会自动生成主键,并将值返回,keyProperty就是表明哪个字段是主键了
接下来我们写一个controller,并将UserXmlMapper 注入
@RestController
public class UserController {
@Autowired
private UserXmlMapper userXmlMapper;
@GetMapping("/userXml")
public User getXMLUser(Integer id){
return userXmlMapper.getUserById(id);
}
@GetMapping("/insertUser")
public User insertXMLUser(User user){
userXmlMapper.insertUser(user);
return user;
}
}
我们打开浏览器,在地址栏输入insertUser请求,带一个name参数,然后按回车,可以看到浏览器显示出了返回的user信息
接下来我们试一下查询
在地址栏输入userXml请求,带一个参数id,值是7,然后按回车,可以看到浏览器返回的查询结果
以上就是springboot整合mybatis的过程,过程也是很简单的