MyBatis入门——day1
一 . 持久化:将内存中的数据保存到存储设备中
二 . 持久层:即为 dao层(Data Access Object),完成持久化工作的代码块
实现过程大多通过 各种关系型数据库 完成
说白了就是专门用于 !!操作数据库!!
三 . 与 传统JDBC操作的不同:
Mybatis是一个半自动化的ORM框架(Object Relationship Mapping),可以减少重复代码,提高效率
四 . Mybatis的优点:
简单易学,灵活,无需第三方依赖,只需安装两个jar文件+配置一些SQL映射文件即可,
解除SQL与程序代码的耦合,通过DAO层,使得业务逻辑和数据访问相分离
五 . 操作:
1 . 搭建数据库
2 . 编写测试类
结构如图:
1 . 编写访问数据库的接口: 以及接口的实现类:
2 . 编写实体类:
3 . 编写工具类:
因为使用 Mybatis 必须使用 SqlSessionFactory 的对象,所以创建一个工具类来实例化对象
获取实例化 sqlSessionFactory 的对象 来构建sqlSession,从而使用 sql语句
//利用实例化 sqlSessionFactory 来构建sqlSession,从而使用 sql语句
public class MybatisUtils {
//提升 sqlSessionFactory的作用域
private static SqlSessionFactory sqlSessionFactory;
static {
try {
//使用mybatis的第一步:获取 sqlSessionFactory 对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//有了 sqlSessionFactory 后,就可以从中获取 sqlSession 的实例了
//sqlSession 包含面向数据库执行 SQL 命令所需的所有方法
public static SqlSession getSqlSession(){
/*
SqlSession sqlSession = sqlSessionFactory.openSession();
return sqlSession;
*/
return sqlSessionFactory.openSession();
}
}
4 . 配置Mybatis的核心文件
<?xml version="1.0" encoding="UTF-8" ?>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
5 . 编写测试类:
6 . 测试结果:
六 . 易错点:
1 .
2 . 完成一个接口后要去注册!!!
Servlet是在 pom.xml 注册
Mybatis在 Mybatis 的核心配置文件 mybatis-config.xml 中配置!!!
3 . 编写顺序:从左到右