- 准备工作(创建springboot工程、数据库表、实体类)
- 引入Mybatis的相关依赖,配置Mybatis(数据库连接信息)
- 编写SQL语句(注解/XML)
创建springboot工程
选中两项
MyBatis Framework:Mybatis框架的依赖
MySQL Driver:MySQL的驱动包
代码部分
根据数据库建类
实体类
package com.example.demo;
public class test {
private String name;
private String gender;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public test(String name, String gender, Integer age) {
this.name = name;
this.gender = gender;
this.age = age;
}
public test() {
}
}
接口
package com.example.mapper;
import com.example.demo.test;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface testMappper {
@Select("select * from student.'table'")
public List<test> list();
}
配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbd:mysql://localhost:3306/student
spring.datasource.username=root
spring.datasource.password=123456
DemoApplicationTests
package com.example.demo;
import com.example.mapper.testMappper;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class DemoApplicationTests {
@Autowired(required = false)
private testMappper testmapper;
@Test
public void testList(){
List<test> t= testmapper.list();
t.stream().forEach(test -> {
System.out.println(test);
});
}
}
报错
改了一下,之前对应的目录结构层级不对。
然而红的更厉害了
报错原因url里的jdbc写成jdbd了、、、哈哈
运行结果
笔记
@Mapper //在运行时,会自动的生成该接口的实现类对象(代理对象),并且将该对象交给IOC容器管理。
MyBatis简化了JDBC的操作
👇简单复习jdbc程序,对比Mybatis
数据库连接池
Lombok
实体类写起来方便了