SpringBoot(38) — MyBatis之Java注解方
2021-11-10 本文已影响0人
奔跑的佩恩
前言
之前已经讲到了MyBatis
的xml
方式增删改查,有兴趣的可参考以下文章
SpringBoot(36) — SpringBoot整合MyBatis
SpringBoot(37) — MyBatis之xml方式增删改查
xml
方式增删改查涉及到两个主要类: dao
类 和 xml
文件,还是显得稍微麻烦了些,这篇文章我们讲讲如何利用Java注解方式
将xml
文件作用合并到 dao
类中。
今天涉及知识:
- 前置准备
- Java注解实现数据库操作
- StudentDao代码
- 项目结构图
运行效果如下:
======我是测试啊=====
===k==student=Student(id=2, name=小明, age=18)
===k==student=Student(id=3, name=小华, age=20)
===k==student=Student(id=4, name=小黑, age=15)
===k==student=Student(id=9, name=小黑仔, age=16)
===k==student=Student(id=10, name=小白, age=35)
===k==student=Student(id=26, name=小灰0, age=12)
===k==student=Student(id=27, name=小灰1, age=13)
===k==student=Student(id=28, name=小灰2, age=14)
===k==student=Student(id=31, name=大学, age=20)
一. 前置准备
此文结合SpringBoot
中使用MyBatis
讲解。对于MyBatis
配置等基本知识,大家可参看SpringBoot(36) — SpringBoot整合MyBatis
要Java
注解实现数据库操作,我们在做完MyBatis
配置后,需要开启Mysql
数据库,并连接数据库。
此时我们不再需要xml
文件了,我们的目标是将xml
文件的数据库操作内容整合到dao
文件中。
所以涉及到的java
类主要有:
- pojo实体类: Student
- dao接口类: StudentDao
下面给出实体类Student
代码:
/**
* Title:
* description:
* autor:pei
* created on 2019/9/3
*/
@Data
@Alias(value = "user") //指定别名
@Component("Student")
public class Student {
private int id;
private String name;
private int age;
}
二. Java注解实现数据库操作
数据库的增删改查,我们都集结到了dao
包下的StudentDao
接口类。下面给出测试增删改查功能的类AppTest
代码:
@RunWith(SpringRunner.class)
@SpringBootTest
@Log4j2
class AppTest {
@Autowired
private StudentDao mStudentDao;
@Test
public void mainTest() throws IOException {
System.out.println("======我是测试啊=====");
// //添加数据
// mStudentDao.insertStudentInfo("大学",20);
//删除单条信息
mStudentDao.deleteStudentByName("小黄5");
//修改单条信息
mStudentDao.updateAgeByName("小白",35);
//查询所有数据
List<Student>list=mStudentDao.getStudentList();
for (int i = 0; i <list.size() ; i++) {
LogUtil.println("===k==student=" + list.get(i).toString());
}
}
运行效果如下:
======我是测试啊=====
===k==student=Student(id=2, name=小明, age=18)
===k==student=Student(id=3, name=小华, age=20)
===k==student=Student(id=4, name=小黑, age=15)
===k==student=Student(id=9, name=小黑仔, age=16)
===k==student=Student(id=10, name=小白, age=35)
===k==student=Student(id=26, name=小灰0, age=12)
===k==student=Student(id=27, name=小灰1, age=13)
===k==student=Student(id=28, name=小灰2, age=14)
===k==student=Student(id=31, name=大学, age=20)
三. StudentDao代码
StudentDao
源码如下: