前言
使用springBoot进行mybatis整合。
一、创建springBoot工程
选择Mybatis Framework 和 Mysql Driver。
二、application.yml
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
三、Pojo 和 Dao
数据表
3.1 pojo
package com.test.pojo;
public class User {
private Integer id;
private Integer age;
private String name;
@Override
public String toString() {
return "User{" +
"id=" + id +
", age=" + age +
", name='" + name + '\'' +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
3.2 UserDao
package com.test.dao;
import com.test.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface UserDao {
@Select("select * from user where id=#{id}")
public User findById(int id);
}
四、测试
package com.test;
import com.test.dao.UserDao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SpringBootMybatisApplicationTests {
@Autowired
private UserDao userDao;
@Test
void contextLoads() {
System.out.println(userDao.findById(1));
}
}
五、可能存在的错误问题
(1)如果版本较低,如:在使用2.4.1 parent时,会出现SqlexEeption的错误。
需要修改url,增加时区。
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC
username: root
password: 123456
(2)未使用最新的Driver时,按照5版本的Driver书写,出现Loading class的问题。
需要修改配置文件的driver信息为com.mysql.cj.jdbc.Driver。
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC
username: root
password: 123456