1、导入相关依赖
<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2、配置映射文件路径
3、在application.propertes中整合数据库
# 整合mybatis
mybatis.type-aliases-package=com.pojo
mybatis.mapper-locations=classpath:com.mapper/*.xml
4、Mapper映射文件模板
<?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.mapper.PersonMapper"> <!-- 配置文件的时候第一步:就要设置这个命名空间 -->
</mapper>
5、简单的CRUD
<select id="queryList" resultType="Person">
select * from person
</select>
<select id="queryPersonById" resultType="Person" parameterType="string">
select * from person where id = #{id}
</select>
<update id="add" parameterType="Person">
insert into person(id,name,password,flag) values (#{id},#{name},#{password},#{flag})
</update>
<update id="updatePerson" parameterType="Person">
update person set name=#{name},password=#{password},flag=#{flag} where id=#{id}
</update>
<delete id="deletePerson" parameterType="String">
delete from person where id=#{id}
</delete>
@Autowired
PersonMapper personMapper;
@GetMapping("/queryList")
public List<Person> queryPersonMapper(){
List<Person> people = personMapper.queryList();
return people;
}
@GetMapping("/queryPersonById/{id}")
public Person queryPersonById(@PathVariable("id") String id){
Person person = personMapper.queryPersonById(id);
return person;
}
@GetMapping("/add/{id}/{name}/{password}/{flag}")
public void add(@PathVariable("id") String id,@PathVariable("name") String name,
@PathVariable("password") String password,@PathVariable("flag") Integer flag){
Person person = new Person(id, name, password, flag);
personMapper.add(person);
}
@GetMapping("/updatePerson/{id}/{name}/{password}/{flag}")
public void updatePerson(@PathVariable("id") String id,@PathVariable("name") String name,
@PathVariable("password") String password,@PathVariable("flag") Integer flag){
Person person = new Person(id, name, password, flag);
personMapper.updatePerson(person);
}
@GetMapping("/deletePerson/{id}")
public void deletePerson(@PathVariable("id") String id){
personMapper.deletePerson(id);
}
在整合的过程中,遇到的主要问题是扫描不到mapper包所在的位置,解决这个问题的方法:就是注意在resources中创建的文件目录要和mapper在java文件的名称一样,这样可以避免错误。