一.什么是Mybatis
1.我的理解:
通俗来讲它是一种半自动的持久层框架,它封装了JDBC免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作
2.特征:
1) 支持定制化 SQL、存储过程以及高级映射
2)避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
3)以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO映射成数据库中的记录
4)是一个 半自动的ORM(Object Relation Mapping)框架
3.比较:
JDBC:
代码重复度高,冗余且效率低下
维护不易,要频繁修改
MyBatis:
轻量级,性能出色
SQL 和 Java 编码分开,功能边界清晰。Java代码专注业务、SQL语句专注数据
开发效率稍逊于HIbernate,但是完全能够接受 [
4 MyBatis的结构
5 MyBatis的执行流程
1、读取 Mybatis的全局配置文件 mybatis-config.xml
2、创建 SqlSessionFactory会话工厂
3、创建 SqlSession会话
4、通过SqlSession对话得到代理对象
5、调用对象的增删改查方法
6、提交事务
7、关闭会话
二、操作步骤
1、配置环境
jar包:(1)用于单元测试的jar包
(2)junit测试依赖的包
(3)mysql驱动包
(4)mybatis包所依赖的包
注意:记得build path
2. Mybatis的使用步骤
创建数据库表
创建实体类
创建Mapper接口,定义操作方法
创建Mapper接口的映射文件
将映射文件添加到主配置文件(就是项目里的mybatis-config.xml文件)
单元测试
3. mybatis-config.xml(核心配置)文件的详解
1目录:
正在上传…重新上传取消
官网:https://mybatis.org/mybatis-3/zh/configuration.html
2(properties)属性【重要】
作用:主要用来连接数据库连接池
方式分两种:外部和内部
外部(最常用):即配置jdbc.properties文件然后在mybatis-config.xml中通过properties标签引用jdbc.properties文件(用resources属性)
优点:再次使用相关属性可以进行动态替换
内部:在 properties 元素的子元素中设置设置键值对
例子: <properties resource="org/mybatis/example/config.properties">
<property name="username" value="dev_user"/>
<property name="password" value="F2Fa3!33TYyg"/>
</properties>
3(settings)设置
作用:是调整设置,用来改变 MyBatis 的运行时行为
例子:defaultStatementTimeout属性用来设置超时时间,它决定数据库驱动等待数据库响应的秒数 等等