博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot整合MyBatis
阅读量:3967 次
发布时间:2019-05-24

本文共 7661 字,大约阅读时间需要 25 分钟。

springboot整合MyBatis

1、MyBatis了解

官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/

Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.3

2、整合流程

数据库提供:

mysql> use springbootDatabase changedmysql> show tables;+----------------------+| Tables_in_springboot |+----------------------+| user                 |+----------------------+1 row in set (0.00 sec)mysql> create table Department(    -> id int primary key,    -> departmentName varchar(20) not null    -> );Query OK, 0 rows affected (0.10 sec)mysql> show tables;+----------------------+| Tables_in_springboot |+----------------------+| department           || user                 |+----------------------+2 rows in set (0.00 sec)mysql> select * from department;+----+----------------+| id | departmentName |+----+----------------+|  1 | JJ             |+----+----------------+1 row in set (0.00 sec)mysql> create table employee(    -> id int primary key,    -> last_name varchar(30) not null,    -> email varchar(50) not null,    -> gender int not null,    -> department int not null,    -> birth Date not null    -> );Query OK, 0 rows affected (0.02 sec)mysql> show tables;+----------------------+| Tables_in_springboot |+----------------------+| department           || employee             || user                 |+----------------------+3 rows in set (0.00 sec)

2.1步骤

​ 1.导入依赖坐标(使用Druid数据库连接池,添加依赖:(参考)

org.mybatis.spring.boot
mybatis-spring-boot-starter
2.1.3

​ 2.在application.yml中配置数据库

上一篇已经配置数据源了,不再赘述了:https://blog.csdn.net/qq_45824905/article/details/117327739?spm=1001.2014.3001.5501https://blog.csdn.net/qq_45824905/article/details/117324141---------------------------------------------------------------mapper映射文件配置方式一:在resources目录下,也是开发最常用的。#mybatis 配置mybatis:  #mybatis映射文件存放路径  mapper-locations: classpath:/mapper/*.xml  type-aliases-package: com.austin.pojo  configuration:    #下划线驼峰式的配置    map-underscore-to-camel-case: true#分页配置pagehelper:  helper-dialect: mysql#显示dao层   执行的SQL语句logging:  level:    com:      austin:        mapper: debug

​ 3.测试数据库切换是否成功

在这里插入图片描述

​ 4.创建实体类(Lombok)

@Data@NoArgsConstructor@AllArgsConstructorpublic class Department {
private Integer id; private String departmentName;}--------------------------------------------------------------------------------------@Data@AllArgsConstructor@NoArgsConstructorpublic class Employee {
private Integer id; private String lastName; private String email; private Integer departmentName; private Integer gender; private Date birth; private Department eDepartment; }

​ 5.创建mapper接口和mapper的映射文件

mapper映射文件存放位置:

@Mapper@Repositorypublic interface DepartmentMapper {
//获取部门全部信息 Department selectList(); //通过id获取全部部门 Department queryDepartmentById(Integer id);}---------------------------------------------------------------------------------------@Mapperpublic interface EmployeeMapper {
// 新增员工 int save(Employee employee); //查询所有的员工 List
selectEmployee(); //通过id查询 Employee selectEmployeeById(Integer id); //通过id删除 Integer deleteEmployeeById(Integer id);}

---------------------------------------------------------------------
insert into employee (last_name, email, gender, dname, birth) values (#{lastName}, #{email}, #{gender}, #{departmentName}, #{birth})
delete from employee where id = #{id}

​ 6.maven配置资源过滤问题

src/main/java
**/*Mapper.xml
**/*.properties
src/main/resources
**/*.*

​ 7.编写service测试

@Servicepublic interface DepartmentService {
Department selectList(); Department queryDepartmentById(Integer id);}@Servicepublic class DepartmentServiceImpl implements DepartmentService {
@Autowired private DepartmentMapper departmentMapper; @Override public Department selectList() {
return departmentMapper.selectList(); } @Override public Department queryDepartmentById(Integer id) {
return departmentMapper.queryDepartmentById(id); }}-------------------------------------------------------------------------------------@Servicepublic interface EmployeeSerive {
Integer save(Employee employee); List
selectEmployee(); Employee selectEmployeeById(Integer id); Integer deleteEmployeeById(Integer id);}@Servicepublic class EmployeeServiceImpl implements EmployeeSerive {
@Autowired private EmployeeMapper employeeMapper; @Override public Integer save(Employee employee) {
return employeeMapper.save(employee); } @Override public List
selectEmployee() {
return employeeMapper.selectEmployee(); } @Override public Employee selectEmployeeById(Integer id) {
return employeeMapper.selectEmployeeById(id); } @Override public Integer deleteEmployeeById(Integer id) {
return employeeMapper.deleteEmployeeById(id); }}

​ 8.编写controller层

@Controllerpublic class DepartmentController {
@Autowired private DepartmentService departmentService; @GetMapping("/list") @ResponseBody public Department getList() {
return departmentService.selectList(); } @GetMapping("/list/{id}") @ResponseBody public Department queryDepartmentById(@PathVariable Integer id) {
return departmentService.queryDepartmentById(id); }}--------------------------------------------------------------------------------- @Controllerpublic class EmployeeController {
@Autowired private EmployeeSerive employeeSerive; @GetMapping("/add") @ResponseBody public Integer save() {
Employee ep = new Employee(); ep.setLastName("lxx"); ep.setEmail("lxx@qq.com"); ep.setBirth(new Date()); ep.setDepartmentName(1); ep.setGender(1); Integer i = employeeSerive.save(ep); return i; } @GetMapping("/ListDe") @ResponseBody public List
selectEmployeeList() {
List
employees = employeeSerive.selectEmployee(); for (Employee employee : employees) {
System.out.println(employee); } return employees; } @GetMapping("/listDe/{id}") @ResponseBody public Employee selectEmployeeById(@PathVariable("id") Integer id) {
return employeeSerive.selectEmployeeById(id); } @GetMapping("/deleteDe/{id}") @ResponseBody public Integer deleteEmployeeById(@PathVariable("id") Integer id) {
return employeeSerive.deleteEmployeeById(id); }}

​ 9.启动项目,访问测试

测试完毕

2.2整体的目录结构:

在这里插入图片描述

2.3运行结果部分截图:

在这里插入图片描述

你可能感兴趣的文章
Linux设备驱动调试技术 1
查看>>
Linux设备驱动调试技术 1
查看>>
Linux设备驱动调试技术 2
查看>>
Linux设备驱动调试技术 2
查看>>
Linux设备驱动调试技术 3
查看>>
Linux设备驱动调试技术 3
查看>>
java 访问 usb (一)
查看>>
java 访问 usb (一)
查看>>
linux-2.6.14下USB驱动移植心得
查看>>
linux-2.6.14下USB驱动移植心得
查看>>
[S3C6410]USB-HOST驱动完成
查看>>
[S3C6410]USB-HOST驱动完成
查看>>
Linux模块编程系列之二 熟悉特定的…
查看>>
Linux模块编程系列之二 熟悉特定的…
查看>>
Linux2.6内核驱动移植参考
查看>>
Linux2.6内核驱动移植参考
查看>>
设备标识及驱动程序所支持的设备(…
查看>>
设备标识及驱动程序所支持的设备(…
查看>>
EXPORT_SYMBOL()
查看>>
EXPORT_SYMBOL()
查看>>