Spring boot集成mybatis

Spring boot集成mybatis

maven依赖

我的spring boot版本是2.5.0,集成mybatis,首先需要数据库的支持,这里我选择mysql数据库,版本是8.0.11,然后使用druid连接池,其次就需要加上mybatis的依赖。

        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>
        <!--druid-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.4</version>
        </dependency>

        <!--myabtis-springboot-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

yml配置

yml中配置了数据源和mybatis的配置

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
    username: root
    password: 123456
# mybatis配置
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: org.syx.dts.entity
  configuration:
    map-underscore-to-camel-case: true

项目结构

entity包放的是定义的实体,mapper包是各mapper的接口,resources下的mapper放的是mybatis的xml
在这里插入图片描述

mapper注解

启动类上的MapperScan(“org.syx.dts.mapper”)这个注解可写可不写。主要看mapper接口有没有加@Mapper注解,加了,启动类就不需要加MapperScan,当然你加了也无所谓。
在这里插入图片描述
在这里插入图片描述

各类展示

@Data
@AllArgsConstructor
@NoArgsConstructor
public class DailyReport {
    private Integer id;
    private Integer empTotal;
    private Integer deviceTotal;
    private Integer deviceUsedNum;
    private Integer birthdayEmpNum;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
}
@Mapper
public interface DailyReportMapper {

    @Select("insert into daily_report(emp_total,device_total,device_used_num,birthday_emp_num,create_time) values(#{empTotal},#{deviceTotal},#{deviceUsedNum},#{birthdayEmpNum},NOW())")
    void save(DailyReport dailyReport);

    @Select("select * from daily_report")
    List<DailyReport> lists();
}
<?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="org.syx.dts.mapper.DeviceMapper">

    <insert id="batchSave">
        INSERT INTO `device` (
           name,no,description,type,create_time,status
        ) VALUES
        <!-- 使用foreach遍历列表 -->
        <foreach item="device" index="index" collection="list" separator=",">
            (#{device.name}, #{device.no}, #{device.description}, #{device.type}, NOW(),0)
        </foreach>

    </insert>

    <update id="update">
        update `device` set
        <if test="status != null and status != ''">
            status = #{status}
        </if>
        where id = #{id}

    </update>

    <select id="getDeviceList" resultType="org.syx.dts.entity.Device">
        select id,name,no,description,type,create_time,status from `device` where 1=1
        <if test="name != null and name != ''">
                AND name LIKE CONCAT('%', #{name}, '%')
        </if>
        <if test="flag != null ">
            AND status = #{flag}
        </if>
    </select>
</mapper>

总结

如此,Spring boot集成mybatis就完成了,整个过程是非常简单的。

相关推荐

  1. springboot集成mybatis-plus

    2024-06-07 15:36:04       53 阅读
  2. SpringBoot集成MyBatis-Plus

    2024-06-07 15:36:04       32 阅读
  3. springboot集成mybatis 单元测试

    2024-06-07 15:36:04       35 阅读
  4. springboot集成mybatis处理json类型

    2024-06-07 15:36:04       59 阅读
  5. 如何在SpringBoot集成MyBatis

    2024-06-07 15:36:04       39 阅读
  6. SpringBoot集成MyBatis的步骤是什么?

    2024-06-07 15:36:04       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 15:36:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 15:36:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 15:36:04       87 阅读
  4. Python语言-面向对象

    2024-06-07 15:36:04       96 阅读

热门阅读

  1. 酒茶元宇宙 - 探索味觉与科技的融合奇迹

    2024-06-07 15:36:04       32 阅读
  2. DALL-E 2之学习心得

    2024-06-07 15:36:04       29 阅读
  3. python如何提取html中所有中文

    2024-06-07 15:36:04       25 阅读
  4. module ‘sys‘ has no attribute ‘setdefaultencoding‘

    2024-06-07 15:36:04       28 阅读
  5. linux系统登录达梦数据库

    2024-06-07 15:36:04       25 阅读
  6. 【Qt】styleSheet设置

    2024-06-07 15:36:04       20 阅读
  7. centos使用docker快速安装nginx

    2024-06-07 15:36:04       32 阅读
  8. 8255A-LED

    2024-06-07 15:36:04       20 阅读
  9. SHA256计算原理

    2024-06-07 15:36:04       31 阅读
  10. HTML5 Canvas 绘图教程一

    2024-06-07 15:36:04       32 阅读
  11. oslo_rootwrap学习小结

    2024-06-07 15:36:04       29 阅读
  12. LeetCode102. 二叉树的层序遍历

    2024-06-07 15:36:04       25 阅读