本来只是整合mybatis框架,没有搭建三层架构去实现一个数据查询流出的过程,后来我发现boot对于整合mybatis框架之后的操作采用注解的话不用再去写xml之类的配置文件,包括使用mybatis操作数据库!这无疑是提高我们对于注解的掌握的好方式。之前在使用ssm三大框架时。我们注意数据的流出是从数据库返回dao到service再到controller。之间通过xml文件的解释与调动使得数据能够合理的一层一层的流动,现在使用springboot我也尝试了一这样的数据库查询之后把结果返回到页面的形式,发现可行。代码量比之前在spring框架整合时少的多。
整合mybatis框架的步骤
- 导入mybatis相关的starter坐标(当然也要注意在yml文件配置数据库连接需要的信息)
- 在dao层使用注解@Mapper与@select("sql语句")或者@Delete("sql语句")等设置映射
- 测试返回数据是否正确
mybatis坐标
<groupId>com.example</groupId>
<artifactId>boot-mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>boot-mybatis</name>
<description>boot-mybatis</description>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
yml配置文件信息
#配置数据库连接的相关信息
spring:
datasource:
username: root
url: jdbc:mysql://localhost:3306/test
driver-class-name: com.mysql.jdbc.Driver
password: 123456
实体类user与dao层接口userDao
public class user {
private String name;
private int age;
//省略set与get以及toString方法
}
@Mapper
public interface userDao {
@Select("select * from test.user")
List<user> findAll();
}
service层
@Service
public class userService implements userDao {
@Autowired
private userDao userDao;
@Override
public List<user> findAll() {
return userDao.findAll();
}
}
controller层
@RestController
public class userController {
@Autowired
private userService userService;
@RequestMapping("/all")
@ResponseBody
public List<user> all(){
List<user> userList = userService.findAll();
return userList;
}
}
测试访问端口结果
最后对比一下我在之前spring框架整合mybatis时的代码:http://t.csdn.cn/aAdWH
我也是刚认识boot一天,也许现在的测试和感悟有问题,但是相互比较之前的测试也会有新的体会。送大家一个彩蛋:在resource目录下新建一个banner文件,里面放我自制的图案(如下),控制台会保佑你的:
[0] 0 QwQ 获神之庇佑 ||| ||| ||| ||| \|/ V