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

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

SpringBoot整合Mybatis

Springboot是现在目前主流的开发基础框架、也是使用最为广泛的开发框架之一、而MyBatis这个框架的使用时针对操作数据库而言面向程序最为重要的一个框架、随之便是mybatis-plus、针对这两个框架而言、在使用的使用我们需要对他们的配置、约束、文件编写等都要很熟悉的掌握、便花时间进行整合了一个最为基础的Springboot搭建整合mybatis的基础教程。

1、初始化工程

选择Idea默认创建方式

在这里插入图片描述
根据步骤进行包名和程序名称的添写
在这里插入图片描述
选择相关依赖(默认不选择)
在这里插入图片描述

后续省略、这个必备

2、添加依赖

org.springframework.boot
spring-boot-starter-parent
2.4.1
1.8
org.springframework.boot
spring-boot-starter-web
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
mysql
mysql-connector-java
org.projectlombok
lombok
org.springframework.boot
spring-boot-starter-test
test

添加好依赖之后我们一定要等maven仓库跟新之后在进行后续的操作(不然会找不到指定的资源等错误信息)在这里插入图片描述

3、数据库创建表

User表

id name age email
1 Jone 18 test1@baomidou.com
2 Jack 20 test2@baomidou.com
3 Tom 28 test3@baomidou.com
4 Sandy 21 test4@baomidou.com
5 Billie 24 test5@baomidou.com

其对应数据库脚本如下

DROP TABLE IF EXISTS user;CREATE TABLE user(	id BIGINT(20) NOT NULL COMMENT '主键ID',	name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',	age INT(11) NULL DEFAULT NULL COMMENT '年龄',	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',	PRIMARY KEY (id));

其对应的数据库 Data 脚本如下:

INSERT INTO user (id, name, age, email) VALUES(1, 'Jone', 18, 'test1@baomidou.com'),(2, 'Jack', 20, 'test2@baomidou.com'),(3, 'Tom', 28, 'test3@baomidou.com'),(4, 'Sandy', 21, 'test4@baomidou.com'),(5, 'Billie', 24, 'test5@baomidou.com');

在这里数据库层面我们就完成了

4、工程结构

src

  • main
    • java
      • com
        • zkr
          • springbootmybatis
            • controller(控制层)
            • entity(实体类)
            • mapper(接口层)
          • SpringbootMybatisApplication.java(启动类)
    • resources
      • mapper(mybatis中xml存放位置)
      • static(静态资源)
      • templates(模板引擎)
      • application.yml(配置文件)
      • application.properties(配置文件)
  • test(测试)

5、实体类编写

实体类对比数据库中的字段和字段类型进行编写、进行lombok简化开发

@Data@NoArgsConstructor@AllArgsConstructorpublic class User {
private Long id; private String name; private int age; private String email;}

6、mapper接口

mapper接口对应着每一个实体类、进行CRUD演示

@Repository("userMapper")public interface UserMapper {
/** * 保存一个User对象 * @param user */ void saveUser(User user); /** * 修改一个User对象 * @param user */ void UpdateUser(User user); /** * 查询全队User对象 * @return */ List
listUser(); /** * 根据Id进行删除一个User对象 * @param id */ void deleteUser(Long id); /** * 根据Id进行检索一个User对象 * @param id * @return */ User findById(Long id);}

7、Controller

@RestController      // Restful 风格返回json数据@RequestMapping("/user") //类路径访问地址public class UserController {
/** * 依赖注入userMapper接口进行方法调用 * @return */ @Autowired private UserMapper userMapper; /** * 查询ListUser * @return */ @GetMapping("/listuser") public List
listUser(){
return userMapper.listUser(); } /** * 根据Id检索User对象 * @param id * @return */ @GetMapping("/findById/{id}") public User findById(@PathVariable("id") Long id){
return userMapper.findById(id); } /** * 根据ID删除一个User对象后查询全部User对象 * @param id * @return */ @RequestMapping("/deleteById/{id}") public List
deleteById(@PathVariable(value = "id") Long id){
userMapper.deleteUser(id); return userMapper.listUser(); } /** * 保存User对象后查询全部User对象 * @return */ @RequestMapping("/saveUser") public List
insertUser(){
User user = new User(27L,"张三",22,"amdinop@142.com"); userMapper.saveUser(user); return userMapper.listUser(); }}

8、编写mapper.xml

mapper.xml这个每一个实体都对应这个一个xml文件来映射sql语句

id				-- 对应mapper接口中的方法名称namespace  		-- 指定mapper接口的全路径parameterType   -- 指定输入类型resultType		-- 返回值类型就是对应实体的全路径
INSERT INTO user VALUES (#{id},#{name},#{age},#{email})
UPDATE user SET name=#{name} WHERE id=#{id}
DELETE FROM user WHERE id=#{id}

9、编写配置文件

这里我们不仅需要配置springboot的配置文件还要配置mybatis所需要的配置文件

如:告诉springboot,mybatis所需要的实体类的位置、实体类对应的mapper.xml文件的位置
还有如果需要可以配置mybatis的全局配置文件的位置也要指定。

#端口映射server:  port: 8989spring:  # 数据库驱动连接  datasource:    #mysql8之后需要指定时区和安全连接方式    url: jdbc:mysql://localhost:3306/hebi?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false    username: root    password: root    driver-class-name: com.mysql.cj.jdbc.Drivermybatis:  # mybatis配置实体类的路径  type-aliases-package: com.zkr.springbootmybatis.entity  # mybatis配置mapper.xml路径  mapper-locations: classpath:/mapper/*.xml  # mybatis全局配置的路径  config-location: classpath:/mybatis-config/*.xml

10、启动类标注MapperScan

@MapperScan : 用于扫描mapper接口的位置进行添加到IOC容器

@SpringBootApplication@MapperScan("com.zkr.springbootmybatis.mapper")public class SpringbootMybatisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootMybatisApplication.class, args); }}

11、测试

测试代码就不在这里编写了。

以上十步就是最简单的SpringBoot整合MyBatis的步骤、可以进行保存方便日后开发的时候用来查阅。

转载地址:http://ydqzi.baihongyu.com/

你可能感兴趣的文章
top 使用
查看>>
Linux Netlink通信机制详解
查看>>
rsync 远程同步
查看>>
nano使用
查看>>
c函数
查看>>
linux 链接
查看>>
centos6.x 添加开机启动服务
查看>>
zfs 简单使用
查看>>
linux EXT4格式分区扩容
查看>>
实现 du 命令
查看>>
git revert reset 使用
查看>>
一些比较好的golang安全项目
查看>>
HTTP状态码
查看>>
go语言
查看>>
mysql mariaDB 以及存储引擎
查看>>
游戏行业了解介绍
查看>>
linux at 命令使用
查看>>
Go在windows下执行命令行指令
查看>>
inotify
查看>>
inode
查看>>