Mybatis 概述
1.MyBatis 本是 apache(tomcat) 的一个开源项目 iBatis,实质上 Mybatis 是对 ibatis 进行一些了改进。
2.MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。
3.Mybatis是一个orm框架(Object relation Mapping),持久层技术,支持动态sql调用,存储过程调用(数据库编程 for if in out),sql和java代码显示分离。(高内聚 低耦合)提高程序的扩展性和维护性。
Mybatis 环境搭建
1.引入当前框架的主体结构(***.jar)
1.mybatis.jar: mybatis 的核心包
2.mysql.jar: 驱动包
3.mybatis执行流程
多个参数传递的问题
1: @Param (“名称”) 就是在我们sql语句中使用的变量名(推荐)
#{名称}
2: 使用map集合的传参
#{key}
3: 使用参数的下标
#{arg0}:下标从0开始
#{param1} 下标从1开始
主键值
keyProperty: 类中的主键字段匹配的属性
keyColumn: 表中的那个字段是主键字段
order: BEFORE(先获取主键然后再插入数据) AFTER(先插入数据,在获取主键)
resultType: 主键的类型是什么
自定义ResultMap(映射)
resultMap属性
Type: 当前的bean对象类型(数据模型的类型)
Id: 新的类型的标记 标识
resultMap子标签
标签:主键标签,配置的主键的映射关系
resultMap: 普通字段的映射关系
增删改查的代码步骤:
1.xml文件名称的获取
2.获取流对象
3.流对象获取过后获取工厂
3.工厂获取会话对象
3.通过反射机制获取接口
4.调用接口的方法
5.实现增删改查,增删改步骤大致相同,除了PersonMapper参数类型可能不同,PersonMapper的sql语句不同,id名称对于接口的方法名称;要用session关闭事件,并且关闭资源
6.查询不用关闭资源和关闭事件,需要在PersonMapper里面写上参数类型和返回值类型