当前位置: 首页 > news >正文

SpringBoot集成Mybatis(包括Mybatis-Plus)和日志

一、使用Mybatis

1.添加依赖

   <!--Mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version> <!-- 选择与Java 8兼容的版本 -->
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version> <!-- 请根据需要调整版本号 -->
        </dependency>
        <!--注解相关-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

2.添加配置

spring:
  datasource:
    url: jdbc:mysql://192.168.101.128:3306/test1?useSSL=false&allowPublicKeyRetrieval=true
    username: root
    password: abcdef
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  # 配置mapper.xml文件位置
  mapper-locations: classpath:mapper/*.xml
  # 开启自动驼峰映射
  configuration:
    map-underscore-to-camel-case: true

3.然后就能使用了

例如:

实体类

package com.example.springbootdemo3.model;

import org.springframework.data.annotation.Id;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Table;
import java.time.LocalDateTime;

/**
 * description
 *
 * @author PC 2025/03/02 19:26
 */
@Table(name = "user_test")
public class UserTest {

    @Id // JPA annotation for marking the primary key
    @GeneratedValue(strategy = GenerationType.IDENTITY) // Auto increment strategy
    private Integer id;

    @Column(name = "name", length = 255)
    private String name;

    @Column(name = "age")
    private Integer age;

    @Column(name = "create_date")
    private LocalDateTime createDate;

    @Column(name = "update")
    private LocalDateTime lastUpdate;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public LocalDateTime getCreateDate() {
        return createDate;
    }

    public void setCreateDate(LocalDateTime createDate) {
        this.createDate = createDate;
    }

    public LocalDateTime getLastUpdate() {
        return lastUpdate;
    }

    public void setLastUpdate(LocalDateTime lastUpdate) {
        this.lastUpdate = lastUpdate;
    }
}

java接口

package com.example.springbootdemo3.mapper;

import com.example.springbootdemo3.model.UserTest;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * description
 *
 * @author PC 2025/03/02 20:52
 */
@Mapper
public interface UserTestMapper {

    List<UserTest> selectAllUsers();
}

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="com.example.springbootdemo3.mapper.UserTestMapper">

    <!-- 查询所有用户 -->
    <select id="selectAllUsers" resultType="com.example.springbootdemo3.model.UserTest">
        SELECT id, `name`, age, create_date, last_update
        FROM user_test
    </select>
</mapper>

测试

package com.example.springbootdemo3.controller;

import com.example.springbootdemo3.mapper.UserTestMapper;
import com.example.springbootdemo3.model.UserTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * description
 *
 * @author PC 2025/03/02 20:54
 */
@RestController
@RequestMapping("/date-test")
public class DateDourceController {

    @Autowired
    private UserTestMapper userTestMapper;

    @GetMapping("/get-all")
    public List<UserTest> getAll() {
        return userTestMapper.selectAllUsers();
    }

}

二、使用Mybatis-Plus(和上面二选一即可)

1.添加依赖

 <!--Mybatis Plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3</version> <!-- 请根据需要选择最新版本 -->
        </dependency>
        <!-- MySQL连接器 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version> <!-- 请根据需要调整版本号 -->
        </dependency>
        <!--注解相关-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

2.添加配置

spring:
  datasource:
    url: jdbc:mysql://192.168.101.128:3306/test1?useSSL=false&allowPublicKeyRetrieval=true
    username: root
    password: abcdef
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  # 配置mapper.xml文件位置
  mapper-locations: classpath:mapper/*.xml
  # 开启自动驼峰映射
  configuration:
    # 配置驼峰命名
    map-underscore-to-camel-case: true

3.然后就可以用了

package com.example.springbootdemo3.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.springbootdemo3.mapper.UserTestMapper;
import com.example.springbootdemo3.model.UserTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * description
 *
 * @author PC 2025/03/02 20:54
 */
@RestController
@RequestMapping("/date-test")
public class DateDourceController {

    @Autowired
    private UserTestMapper userTestMapper;

    @GetMapping("/getByName")
    public List<UserTest> getList(String name) {
        QueryWrapper<UserTest> queryWrapper = new QueryWrapper<>();
        queryWrapper.like("name", name);
        return userTestMapper.selectList(queryWrapper);
    }
}

三、日志(包含Mybatis-plus日志)

1.加依赖

<!-- SLF4J API -->
<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>slf4j-api</artifactId>
 </dependency>
<!-- Logback Classic -->
<dependency>
	<groupId>ch.qos.logback</groupId>
	<artifactId>logback-classic</artifactId>
</dependency>

2.加配置(搞定)

mybatis-plus:
  configuration:
    # 配置日志实现类
    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
logging:
  level:
    com.example.springbootdemo3: INFO
    com.baomidou.mybatisplus: DEBUG
    com.zaxxer.hikari: INFO
    com.example.springbootdemo3.mapper: DEBUG

相关文章:

  • c++进阶--继承
  • 用友NC系列漏洞检测利用工具
  • 了解Java集合的概念和体系:Collection<T>、Collections与Stream的使用
  • 【中等】707.设计链表
  • 移动零
  • centos 下dockers部署surveyking-docker开源考试系统
  • 【数据结构与算法】Java描述:第一节:ArrayList顺序表
  • 使用watch监听route对象的变化
  • 【面试题】高并发场景下如何实现积分排行榜
  • R 语言科研绘图 --- 箱线图-汇总
  • 配置后端验证功能之validation
  • C++基础语法9——函数结构
  • Kotlin 5种单例模式
  • 了解什么是红黑树
  • 通过查询hive的元数据库中的表分区清单,拼写出来删除表分区的sql脚本
  • uniapp 中引入使用uView UI
  • PH热榜 | 2025-03-02
  • Sparsely-Gated Mixture-of-Experts Layer (MoE)论文解读与Pytorch代码实现
  • 大数据-236 离线数仓 - 会员活跃度 WDS 与 ADS 导出到 MySQL 与 广告业务 需求分析
  • 开启mysql的binlog日志
  • 上海云职企业服务是干什么的/seo交流qq群
  • 可以免费下载ppt模板的网站/个人网页制作成品欣赏
  • 设计师一般放作品的网站/大数据培训机构排名前十
  • 东莞做网站seo/微信引流主动被加软件
  • 企业内部系统网站制作/百度推广app下载
  • 昆山做网站好的/seo外包 靠谱