1.SpringBoot对大量的资源进行了版本规范,但是没有对mybatis进行整合。
2.本次就简单的基本整合。
3.源码github地址https://github.com/673161863-beinuan/SpringBoot-mybatis.git
1.首先就是pom文件到jar包,当前可以选择快速搭建直接勾选的方式。前提是需要有网。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<!--mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<!--测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.既然是整合mybatis,新建一个数据库把
(1)建库
CREATE DATABASE IF NOT EXISTS springboot_mybatis CHARACTER SET utf8;
(2)建表
CREATE TABLE `springboot_mybatis`.`tb_user`( `user_id` INT NOT NULL AUTO_INCREMENT, `username` VARCHAR(100), `password` VARCHAR(100), `nickname` VARCHAR(100), `email` VARCHAR(100), PRIMARY KEY (`user_id`) ) ENGINE=INNODB CHARSET=utf8;
3.在resource资源目录建一个application.yml
,填写数据源信息,注意密码或库名的不同
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot_mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
username: root
password: 123456
4.建一个测试类看看连接上数据库了么。打印结果不为null,不抛异常就行。
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sql.DataSource;
import java.sql.SQLException;
@SpringBootTest
public class AppTest {
@Autowired
private DataSource dataSource;
@Test
public void testConnection() throws SQLException {
System.out.println(dataSource.getConnection());
}
}
5.下面开始建类建接口和mapper文件
(1)建实体类
public class User {
private Integer userId;
private String username;
private String password;
private String nickname;
private String email;
public User() {
}
public User(Integer userId, String username, String password, String nickname, String email) {
this.userId = userId;
this.username = username;
this.password = password;
this.nickname = nickname;
this.email = email;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "User{" +
"userId=" + userId +
", username='" + username + '\'' +
", password='" + password + '\'' +
", nickname='" + nickname + '\'' +
", email='" + email + '\'' +
'}';
}
}
(2)建接口,注意@Mapper
这个注解
import com.beinuan.spring.boot.bean.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper // 加mapper注解后springboot才会扫描到接口
public interface UserMapper {
// 查询所有记录
List<User> getAll();
// 添加一条记录
void insertUser(User user);
}
(3)UserMapper 的对应mapper映射文件,注意命名空间和方法名要与xml文件里对应。
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
>
>
insert into tb_user(username,password,nickname,email)
values (#{username},#{password},#{nickname},#{email});
>
>
>
(4)在application.yml
配置文件里添加配置信息
mybatis:
type-aliases-package=com: com.beinuan.spring.boot.bean # 扫描实体类
mapper-locations: classpath:mapper/*Mapper.xml
configuration:
map-underscore-to-camel-case: true # 开启驼峰命名法
(5)建一个mybatis的全局配置文件mybatis-conf.xml
,没有什么配置的,因为整合后都是在spring的配置文件里配置了。
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
6.测试,在测试类里
(1)装配一下接口
@Autowired
private UserMapper userMapper;
(2)测试添加方法。
@Test
public void testInsert(){
userMapper.insertUser(new User(null, "admin", "123456", "北暖", "[email protected]"));
}
@Test
public void testGetAll(){
List<User> userList = userMapper.getAll();
for (User user : userList) {
System.out.println(user);
}
}
基本整合完毕,不得不说SpringBoot确实是方便。
写作不易,如果对您有所帮助,请给一个小小的赞,您的点赞是对我莫大的支持和鼓励,谢谢!!!