集团站切换校区

验证码已发送,请查收短信

复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图标

学习文章

当前位置:首页 > >学习文章 > >

【Java技术培训】SpringBoot整合MyBatis

发布时间: 2020-07-07 10:12:19

Java技术培训】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. 引入必须的依赖包<dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-web</artifactId>

       </dependency>

       <dependency>

           <groupId>org.mybatis.spring.boot</groupId>

           <artifactId>mybatis-spring-boot-starter</artifactId>

       </dependency>

       <!--阿里巴巴druid-->

       <dependency>

           <groupId>com.alibaba</groupId>

           <artifactId>druid</artifactId>

           <version>1.1.22</version>

       </dependency>

       <dependency>

           <groupId>mysql</groupId>

           <artifactId>mysql-connector-java</artifactId>

           <scope>runtime</scope>

       </dependency>

       <dependency>

           <groupId>org.projectlombok</groupId>

           <artifactId>lombok</artifactId>

           <optional>true</optional>

       </dependency>


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<TbUser> findAll();

}

6. 编写mapper映射文件

 TbUserMapper.xml<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

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


<mapper namespace="net.togogo.mybatisxml.mapper.TbUserMapper">


   <insert id="saveUser" parameterType="net.togogo.mybatisxml.bean.TbUser">

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

   </insert>


   <select id="findAll" resultType="net.togogo.mybatisxml.bean.TbUser">

       select * from tb_user

   </select>


</mapper>

7. 编写service层

public interface TbUserService {


   void saveUser(TbUser user);

   List<TbUser> 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<TbUser> 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<TbUser> findAll(){

       List<TbUser> users = userService.findAll();

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

       return users;

   }

}

上一篇: 【人工智能】机器学习—超参数调优

下一篇: oracle表空间了解一下

十五年老品牌
微信咨询:togogoi 咨询电话:18922156670 咨询网站客服:在线客服

相关课程推荐

在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!