一、Mybatis简介
Mybatis是一款优秀的持久层框架
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的增删改查不难的,在这里我们介绍了通过注解的方式来实现,但是还可以通过配置文件属性来整合,有机会可以在来研究一下。