MyBatis

创建日期:2024-06-21
更新日期:2024-12-18

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。

参考文档:https://mybatis.org/mybatis-3/zh/

依赖项:

org.mybatis:mybatis: 3.5.7

mysql:mysql-connector-java:8.0.22

org.projectlombok:lombok:1.18.20

配置文件mybatis-config.xml:

PUBLIC "-~/~/mybatis.org~/~/DTD Config 3.0~/~/EN"

"http:~/~/mybatis.org/dtd/mybatis-3-config.dtd">

实体类Person.java:

@Data

public class Person {

private long id;

private String name;

private int age;

private Date birthday;

}

映射类PersonMapper.java:

public interface PersonMapper {

List list();

int insert(Person person);

}

映射文件PersonMapper.xml:

PUBLIC "-~/~/mybatis.org~/~/DTD Mapper 3.0~/~/EN"

"http:~/~/mybatis.org/dtd/mybatis-3-mapper.dtd">

insert into person (name, age, birthday) values (#{name}, #{age}, #{birthday})

使用方法:

  1. 创建SqlSessionFactory:

String resource = "mybatis-config.xml";

InputStream inputStream = null;

try {

inputStream = Resources.getResourceAsStream(resource);

} catch (IOException e) {

e.printStackTrace();

}

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

  1. 插入数据:

SqlSession session = sqlSessionFactory.openSession();

PersonMapper mapper = session.getMapper(PersonMapper.class);

~/~/ 添加

Person person = new Person();

person.setName("xiaoming");

person.setAge(14);

person.setBirthday(new Date(92, Calendar.JANUARY, 3, 8, 0, 0));

mapper.insert(person);

session.commit();

  1. 查询数据。

SqlSession session = sqlSessionFactory.openSession();

PersonMapper mapper = session.getMapper(PersonMapper.class);

List list = mapper.list();