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
int insert(Person person);
}
映射文件PersonMapper.xml:
PUBLIC "-~/~/mybatis.org~/~/DTD Mapper 3.0~/~/EN"
"http:~/~/mybatis.org/dtd/mybatis-3-mapper.dtd">
select * from person
insert into person (name, age, birthday) values (#{name}, #{age}, #{birthday})
使用方法:
- 创建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);
- 插入数据:
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();
- 查询数据。
SqlSession session = sqlSessionFactory.openSession();
PersonMapper mapper = session.getMapper(PersonMapper.class);
List