1. Mybatis学习笔记
简介:
1. 什么是Mybatis?
- MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。
- MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
- MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
2. 持久化
数据持久化
- 持久化就是将程序的数据在持久状态和瞬时状态转化的过程。
- 内存:断电即失。
- 数据库(jdbc): io文件持久化。
为什么需要持久化?
有一些对象,不能让他丢失掉。
3. 持久层
Dao层,Service层,Controller层...
- 完成持久化工作的代码块。
- 层界限十分明显。
4. 为什么需要Mybatis?
- 帮助程序员将数据存入到数据库中。
- 方便。
- 传统的JDBC代码太复杂了,进行简化,使用框架,实现自动化。
- 不用Mybatis也可以。更容易上手。
1. 新建项目
- 新建一个普通的maven项目
- 删除src目录
- 导入maven依赖
mysql mysql-connector-java 5.1.46 org.mybatis mybatis 3.5.2 junit junit 4.12
2. 创建一个模块
- 编写mybatis核心配置文件
-
<?xml version="1.0" encoding="UTF-8" ?>
"http://mybatis.org/dtd/mybatis-3-config.dtd">
- 编写mybatis工具类
-
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
//使用mybatis获取sqlSessionFactory对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}catch (IOException e){
e.printStackTrace();
}
}
//既然有了sqlSessionFactory,顾名思义,我们就可以从中获得SqlSession的实例了。
//SqlSession完全包含了面向数据库执行SQL命令所需的所有方法。
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
3. 编写代码
- 实体类
- Dao接口
- 接口实现类
4.测试
注意点: 核心配置文件中注册mappers!