全国服务热线:400-6263-721

位置:南昌达内IT教育培训学校 > 学校动态 > SpringBoot整合MyBatis

SpringBoot整合MyBatis

来源:南昌达内IT教育培训学校时间:2021/3/24 15:19:27

  SpringBoot整合MyBatis

  一、 MyBatis简介

  MyBatis 是一款的持久层框架,它支持定制化 SQL、存储过程以及映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

  MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

  二、 MyBatis特点

  1. 简单易学 本身就很小且简单。没有任何第三方依赖,简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。

  2. 灵活 mybatis不会对应用程序或者数据库的现有设计强加任何影响。

  sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。

  3. 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。

  4. 提供映射标签,支持对象与数据库的orm字段关系映射

  5. 提供对象关系映射标签,支持对象关系组建维护

  6. 提供xml标签,支持编写动态sql。

  三、 在SpringBoot项目中引入MyBatis依赖实现对数据库的操作(这里采用xml)

  1. 引入必须的依赖包

  org.springframework.boot

  spring-boot-starter-web

  org.mybatis.spring.boot

  mybatis-spring-boot-starter

  com.alibaba

  druid

  1.1.22

  mysql

  mysql-connector-java

  runtime

  org.projectlombok

  lombok

  true

  2. 修改application.yml编写配置文件

  server:

  port: 9006

  spring:

  datasource:

  url: jdbc:mysql://localhost:3306/springboot1701?serverTimezone=UTC

  driver-class-name: com.mysql.cj.jdbc.Driver

  username: root

  password: 123456aB_

  type: com.alibaba.druid.pool.DruidDataSource

  # 配置mybatis

  mybatis:

  mapper-locations: classpath:/mappers/*.xml # 扫描mybatis映射文件

  3. 在项目启动入口上增加mapper接口扫描

  @SpringBootApplication

  @MapperScan("net.togogo.mybatisxml.mapper")

  public class MybatisxmlApplication {

  public static void main(String[] args) {

  SpringApplication.run(MybatisxmlApplication.class, args);

  }

  }

  4. 编写与数据库对应的实体类@Data

  @AllArgsConstructor

  @NoArgsConstructor

  @ToString

  public class TbUser {

  private Integer id;

  private String username;

  private String password;

  private String role;

  }

  5. 编写mapper接口

  public interface TbUserMapper {

  void saveUser(TbUser user);

  List findAll();

  }

  6. 编写mapper映射文件

  TbUserMapper.xml

  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

  insert into tb_user(username,password,role)values (#{username},#{password},#{role})

  select * from tb_user

  7. 编写service层

  public interface TbUserService {

  void saveUser(TbUser user);

  List findAll();

  }

  8. 编写serviceImpl@Service

  @Transactional

  public class TbUserServiceImpl implements TbUserService {

  @Resource

  TbUserMapper userMapper;

  @Override

  public void saveUser(TbUser user) {

  userMapper.saveUser(user);

  }

  @Override

  public List findAll() {

  return userMapper.findAll();

  }

  }

  9. 编写controller

  @RestController

  @RequestMapping("/user")

  public class TbUserController {

  @Resource

  TbUserService userService;

  @PostMapping("/save")

  public void saveUser(TbUser user){

  userService.saveUser(user);

  }

  @GetMapping("/users")

  public List findAll(){

  List users = userService.findAll();

  users.forEach(System.out::println);

  return users;

  }

  }

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/1810/news/337074/违者必究! 以上就是南昌达内IT教育培训学校 小编为您整理 SpringBoot整合MyBatis的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-721