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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值