MyBatis是一种Java持久化框架,它可以简化数据库操作JDBC。下面是使用MyBatis进行数据库操作的一般步骤:
引入依赖:在项目的构建文件(如pom.xml)中添加MyBatis的依赖。
配置数据源:在配置文件中配置数据库连接信息,包括数据库类型、URL、用户名和密码等。
创建实体类:根据数据库表结构创建对应的实体类,并为每个字段添加相应的属性和方法。
创建Mapper接口:创建一个接口,用于定义数据库操作的方法。每个方法对应一条SQL语句。
编写Mapper XML文件:在XML文件中编写SQL语句,包括增删改查等操作。通过在XML文件中配置与Mapper接口方法的映射关系,实现方法与SQL语句的绑定。
创建SqlSessionFactory:通过配置文件创建SqlSessionFactory,SqlSessionFactory是MyBatis的核心对象,用于创建SqlSession。
创建SqlSession:通过SqlSessionFactory的openSession()方法创建SqlSession,SqlSession用于执行SQL语句。
调用Mapper方法:通过SqlSession的getMapper()方法获取Mapper接口的代理对象,然后调用Mapper接口的方法执行数据库操作。
提交事务和关闭资源:在完成数据库操作后,记得提交事务并关闭SqlSession。
以上是使用MyBatis进行数据库操作的一般步骤。根据具体的需求,可以对实体类、Mapper接口和Mapper XML文件进行扩展和配置。
首先创建一个数据库 名字为 user,里面的信息如下
新建一个Spring Initializr的模块,注意Java的配置环境不要太高,21会失败,要用17
然后勾选上对应的框架和服务
创建完成
3306/你要连接的数据库的名字
username = 账号
password = 密码
# 配置数据库的连接信息
#驱动名称
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
# 连接数据库的用户名
spring.datasource.username=root
#连接数据库的用户密码
spring.datasource.password=123456
package com.example.springbootmybatisquickstart.poji;
public class User {
private Integer id;
private String name;
private Short age;
private Character gender;
private String phone;
public User(Integer id, String name, Short age, Character gender, String phone) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
this.phone = phone;
}
public User() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Short getAge() {
return age;
}
public void setAge(Short age) {
this.age = age;
}
public Character getGender() {
return gender;
}
public void setGender(Character gender) {
this.gender = gender;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", gender=" + gender +
", phone='" + phone + '\'' +
'}';
}
}
然后去定义一个接口, @Select 表示的是 我要进行查找的操作,括号里面写的是sql语句
package com.example.springbootmybatisquickstart.mapper;
import com.example.springbootmybatisquickstart.poji.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserMapper {
//查询全部用户的信息
@Select("select * from user")
List<User> list();
}
package com.example.springbootmybatisquickstart;
import com.example.springbootmybatisquickstart.mapper.UserMapper;
import com.example.springbootmybatisquickstart.poji.User;
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
public class Usertest {
@Autowired
private UserMapper userMapper;
@Test
public void test() {
List<User> userList = userMapper.list();
userList.stream().forEach(user->{
System.out.println(user);
});
}
}
1: 注册驱动
2:获取连接对象
3:获取执行SQL的对象Statement 执行SQL 返回结果
4:封装结果数据
5:释放资源