前言:
继上文SpringBoot整合Mybatis纯注解实现简单增删改查,此处补充纯配置文件的方法,因在环境搭建步骤与上文一致,故此处不再赘述。
一.环境搭建
详见:SpringBoot整合Mybatis纯注解实现简单增删改查
二.编写代码
1.实体类
public class JavaBean {
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;
}
}
2.Dao
@Repository
public interface JavaBeanDao {
List<JavaBean> FindAll();
JavaBean FindOne(Integer id);
int InsertOne(@Param("id") Integer id, @Param("string") String string);
int UpdateOne(JavaBean javaBean);
int DeleteOne(Integer id);
}
3.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.nanrailgun.demo20200131.Dao.JavaBeanDao">
<select id="FindAll" resultType="JavaBean">
SELECT * FROM javabean
</select>
<select id="FindOne" resultType="JavaBean">
SELECT * FROM javabean WHERE id=#{id}
</select>
<insert id="InsertOne">
INSERT INTO javabean (id,name) VALUE (#{id},#{string})
</insert>
<update id="UpdateOne">
UPDATE javabean SET name=#{name} WHERE id=#{id}
</update>
<delete id="DeleteOne">
DELETE FROM javabean WHERE id=#{id}
</delete>
</mapper>
4.Springboot配置
此外,还需在Springboot配置文件中进行Mybatis的配置,此处以application.yml文件为例
mybatis:
mapper-locations: classpath:Mybatis/mapper/*.xml
type-aliases-package: com.nanrailgun.demo20200131.domain
以及我的项目目录:
项目目录
- 配置项mapper-locations指明了让Mybatis扫描类路径下Mybatis包下的mapper包下的所有xml文件,Mybatis会根据这些xml文件的namespace(即下文)得知该xml文件是映射哪个Dao接口,并将接口中的方法进行增强后交由Springboot进行管理
<mapper namespace="com.nanrailgun.demo20200131.Dao.JavaBeanDao">
- 配置项type-aliases-package指明了让Mybatis扫描实体类所在的包,故在xml映射文件中无需使用实体类全类名,可简写
5.Controller
@Controller
@ResponseBody
public class JavaBeanController {
@Autowired
private JavaBeanDao javaBeanDao;
@GetMapping("/javabean")
public List<JavaBean> FindAll(){
return javaBeanDao.FindAll();
}
@GetMapping("/javabean/{id}")
public JavaBean FindOne(@PathVariable Integer id){
return javaBeanDao.FindOne(id);
}
@PostMapping("/javabean")
public int InsertOne(@RequestParam("id") Integer id,@RequestParam("name") String name){
return javaBeanDao.InsertOne(id,name);
}
@PutMapping("/javabean")
public int UpdateOne(@RequestBody JavaBean javaBean){
return javaBeanDao.UpdateOne(javaBean);
}
@DeleteMapping("/javabean/{id}")
public int DeleteOne(@PathVariable Integer id){
return javaBeanDao.DeleteOne(id);
}
}
三.测试
使用Postman进行API接口测试
-
先查询所有
image.png -
更新一个
image.png -
再查询所有
image.png
成功!
四.总结
如有错误,还劳烦大佬指正,感激不尽
2020.2.2 下午3:36