整合MyBatis
1、新增项目时要选择,MyBatis Framework,MySQL Driver
2、application.yml文件设置数据源参数
#2、配置相关信息spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3307/jakedeal?serverTimezone=UTCusername: rootpassword: XXXXXmain:# 关闭logo图像banner-mode: off
- MySQL8.x驱动强制要设置时区
- 修改url,,添加serverTimezone设定
- 驱动类过时,提醒更换为com.mysql.cj.jdbc.Driver
3、定义数据层接口与映射配置
```java package com.tj.domain;
public class User { private Integer id; private String user_id; private String user_name;
@Overridepublic String toString() {return "User{" +"id=" + id +", user_id='" + user_id + '\'' +", user_name='" + user_name + '\'' +'}';}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUser_id() {return user_id;}public void setUser_id(String user_id) {this.user_id = user_id;}public String getUser_name() {return user_name;}public void setUser_name(String user_name) {this.user_name = user_name;}
}
```javapackage com.tj.dao;import com.tj.domain.User;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Select;import org.springframework.stereotype.Repository;@Mapper@Repositorypublic interface UserDao {@Select("select * from users where id=#{id}")public User getById(Integer id);}
4、测试类中注入dao接口,测试功能
package com.tj;import com.tj.dao.UserDao;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;@SpringBootTestclass MybatisApplicationTests {@Autowiredprivate UserDao userDao;@Testvoid contextLoads() {System.out.println(userDao.getById(10049));}}
问题报错解决

解决方法:Could not autowire.No beans of ‘XXXX‘type found的解决方法(详细解析其用法注解)
整合MyBatis-Plus
https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter/3.5.1
<!--mybatis-plus依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency>
配置数据库
常见问题
Mybatis 查询出来的数据数量正确,但是带下划线的字段数据为null
参考:Mybatis 查询出来的数据数量正确,但是具体数据为null
解决方法一:配置文件(我喜欢这种,可以让数据库和JAVA里的名字统一,便于理解)
mybatis-plus:configuration:map-underscore-to-camel-case: false
解决方法二:下划线“_”改成驼峰写法
参考:https://blog.csdn.net/weixin_41758407/article/details/90722718
java中使用驼峰命名
数据库表列:user_name
实体类属性:userName
@TableName(“user”)可以绑定表
package com.tj.dao;import com.baomidou.mybatisplus.annotation.TableName;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.tj.domain.Users;import org.apache.ibatis.annotations.Mapper;import org.springframework.stereotype.Repository;@Mapper@Repository@TableName("user")public interface UserDao extends BaseMapper<Users> {// @Select("select * from users where id=#{id}")// public Users getById(Integer id);}
