目录
前言
1.创建springboot⼯程
2.数据准备
3.配置Mybatis数据库连接信息
4.编写SQL语句,进行测试
前言
MyBatis是⼀款优秀的 持久层 框架,⽤于简化JDBC的开发
Mybatis操作数据库的入门步骤:
1.创建springboot⼯程2.数据库表准备、实体类3. 引⼊Mybatis的相关依赖,配置Mybatis(数据库连接信息)4.编写SQL语句(注解/XML) ,进行测试
了解更多MyBatis中文网https://mybatis.net.cn/
1.创建springboot⼯程
创建springboot⼯程,并导⼊ mybatis的起步依赖、mysql的驱动包
项⽬⼯程创建完成后,⾃动在pom.xml⽂件中,导⼊Mybatis依赖和MySQL驱动依赖
spring Boot会 按照自身对应版本导入对应的依赖。比如: SpringBoot 3.X对⽤MyBatis版本为3.X
我导入的依赖版本
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency>
mybatis-spring-boot-autoconfigure – Introductionhttps://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
2.数据准备
-- 创建数据库
DROP DATABASE IF EXISTS mybatis_test;
CREATE DATABASE mybatis_test DEFAULT CHARACTER SET utf8mb4;
-- 使用数据数据
USE mybatis_test;
-- 创建表[用户表]
DROP TABLE IF EXISTS userinfo;
CREATE TABLE `userinfo` (
`id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
`username` VARCHAR ( 127 ) NOT NULL,
`password` VARCHAR ( 127 ) NOT NULL,
`age` TINYINT ( 4 ) NOT NULL,
`gender` TINYINT ( 4 ) DEFAULT '0' COMMENT '1-男 2-女 0-默认',
`phone` VARCHAR ( 15 ) DEFAULT NULL,
`delete_flag` TINYINT ( 4 ) DEFAULT 0 COMMENT '0-正常, 1-删除',
`create_time` DATETIME DEFAULT now(),
`update_time` DATETIME DEFAULT now(),
PRIMARY KEY ( `id` )
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4;
-- 添加用户信息
INSERT INTO mybatis_test.userinfo ( username, `password`, age, gender, phone )
VALUES ( 'admin', 'admin', 18, 1, '18612340001' );
INSERT INTO mybatis_test.userinfo ( username, `password`, age, gender, phone )
VALUES ( 'zhangsan', 'zhangsan', 18, 1, '18612340002' );
INSERT INTO mybatis_test.userinfo ( username, `password`, age, gender, phone )
VALUES ( 'lisi', 'lisi', 18, 1, '18612340003' );
INSERT INTO mybatis_test.userinfo ( username, `password`, age, gender, phone )
VALUES ( 'wangwu', 'wangwu', 18, 1, '18612340004' );
import lombok.Data;
import java.util.Date;
@Data
public class Userinfo {
private Integer id;
private String username;
private String password;
private Byte age;
private Byte gender;
private String phone;
private Byte deleteFlag;
private Date createTime;
private Date updateTime;
}
1.表名, 字段名使⽤⼩写字⺟或数字, 单词之间以下划线分割. 尽量避免出现数字开头或者两个下划线 中间只出现数字
2.表必备三字段: id(主键), create_time(创建时间), update_time(更新时间)
有同等含义的字段即可, 字段名不做强制要求
3.在表查询中, 避免使⽤ * 作为查询的字段列表
3.配置Mybatis数据库连接信息
具体配置以自身为准
默认如下:
如果是application.yml⽂件, 配置内容如下:
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=false
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatis_test?
characterEncoding=utf8&useSSL=false
#连接数据库的⽤⼾名
spring.datasource.username=root
#连接数据库的密码
spring.datasource.password=root
4.编写SQL语句,进行测试
Mybatis的持久层接⼝规范⼀般都叫 XxxMapper
UserInfoMapper接口
@Mapper注解:表⽰是MyBatis中的Mapper接⼝,程序运⾏时, 框架会⾃动⽣成接⼝的实现类对象(代理对象),并给交Spring的IOC容器管理
import com.wh.myBatis.model.Userinfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserInfoMapper {
@Select("select * from userinfo")
public List<Userinfo> queryAllUser();
}
测试
使⽤Idea ⾃动⽣成测试类
在需要测试的Mapper接⼝中, 右键 -> Generate -> Test如下:
1.
2.
3.
4.
记得加 @SpringBootTest 注解, 加载Spring运⾏环境
代码:
import com.wh.myBatis.model.Userinfo;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
class UserInfoMapperTest {
@Autowired
private UserInfoMapper userInfoMapper;
@Test
void queryAllUser() {
for (Userinfo userinfo : userInfoMapper.queryAllUser()) {
System.out.println(userinfo);
}
}
}
结果:
以上为我个人的小分享,如有问题,欢迎讨论!!!
都看到这了,不如关注一下,给个免费的赞