注解方式整合Mybatis增删改查
一、Mybatis简介
Myba是一款优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程,减少了代码的冗余,减少程序员的操作。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。MyBatis原来是apache的一个开源项目,叫做ibatis,2010年这个项目由apache迁移到了google code,并且改名为MyBatis
二、创建数据库
这里我们可以使用navicat工具便捷的创建一个数据库,具体步骤大家可以自行研究。在这里我们在我们创建的名为mxi的数据库中新建一个名为students的表。里面包括了id,stuid,name,age的简单信息。
三、编写配置连接数据库
其实这里需要配置还是比较多的,我只拿连接数据库来此举例,记得填写好你的数据库名称、用户名、密码。
server: port: 8001 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mxi?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC username: root password: *******
四、创建实体类
记得要与数据库中的属性对应!!
public class Student { private int id; private int stuid; private String name; private int age; } 省略set,get,tostring等
五、创建dao接口
@Mapper public interface StudentDao { @Select("select * from students") List<Student> getAll(); @Delete("delete from students where id=#{id}") int deleteById(int id); @Update("update students set stuid=#{stuid},name=#{name},age=#{age} where id=#{id}") int updateStudent(Student student); @Select("select * from students where id=#{id}") Student findById(int id); @Insert("insert into students(stuid,name,age) values (#{stuid},#{name},#{age})") int insertStudent(Student student);
六、在测试类中测试对表的增删改查
在text中我们可以简单的进行表的增删改查,最后可以的到不错的结果。
@SpringBootTest class Springboot0105ApplicationTests { @Autowired private StudentDao studentDao; @Test void contextLoads() { List<Student> students = studentDao.getAll(); for(Student student : students){ System.out.println(student); } } @Test void textById(){ Student stu = studentDao.findById(1); System.out.println(stu); } @Test void insertStu(){ Student stu = new Student(); stu.setStuid(10086); stu.setName("啊哈"); stu.setAge(10); studentDao.insertStudent(stu); } @Test void updateStu(){ Student stu = studentDao.findById(4); stu.setName("欸姐"); studentDao.updateStudent(stu); } @Test void deleteStu(){ studentDao.deleteById(5); } }
七、小结
总的来说mybatis的增删改查不难的,在这里我们介绍了通过注解的方式来实现,但是还可以通过配置文件属性来整合,有机会可以在来研究一下。