第一章:框架概述:
1.回顾JDBC
1 | public void findStudent() { |
第二章:MyBatis框架快速入门
1环境搭建
1.1:加入pom.xml依赖
1 |
|
1.2:加入maven插件
1 | <build> |
1.3编写 Dao 接口 Mapper 映射文件 StudentDao.xml
要求:
在 dao 包中创建文件 StudentDao.xml
要 StudentDao.xml 文件名称和接口 StudentDao 一样,区分大小写的一样。
StudentDao.xml配置:
1 | <?xml version="1.0" encoding="UTF-8" ?> |
1.4:创建 MyBatis 主配置文件
项目 src/main 下创建 resources 目录,设置 resources 目录为 resources root 创建主配置文件:名称为 mybatis.xml 说明:主配置文件名称是自定义的,内容如下:
1 | <?xml version="1.0" encoding="UTF-8" ?> |
2.基本的CURD
2.1: MyBatisUtils.java
1 | public class MyBatisUtils { |
2.2: mapper中传参方式方式
2.2.0:一个简单的参数
1 | Dao 接口中方法的参数只有一个简单类型(java 基本类型和 String),占位符 #{ 任意字符 },和方 法的参数名无关。 |
2.2.1: parameterTyp
1 | <!-- |
2.2.2: 多个参数,使用@Param(“自定义参数名称”)
1 | /** |
2.2.3: 使用引用java对象类型做参数
1 | <!--多个参数, 使用java对象的属性值,作为参数实际值 |
2.2.4: 按照位置
1 | /** |
2.2.5: 多个参数,使用Map存放多个值
1 | 接口方法: |
第三章:Dao代理实现CURD
3.1: 步骤
3.1.1:StudentDao 接口中增加方法
1 | int insertStudent(Student student); |
1 | int updateStudent(Student student); |
1 | int deleteStudent(int id); |
3.1.2: StudentDao.xml 加入 sql 语句
1 | 多个参数, 使用java对象的属性值,作为参数实际值 |
1 | <insert id="insertStudent"> |
1 | <update id="updateStudent"> |
1 | <delete id="deleteStudent"> |
3.1.3增加测试方法 (动态代理)
1 | //使用mybatis的动态代理机制, 使用SqlSession.getMapper(dao接口) |
3.2封装MyBatis输出结果:
3.2.1: resultType
resultType: 执行 sql 得到 ResultSet 转换的类型,使用类型的完全限定名或别名。 注意如果返回的是集 合,那应该设置为集合包含的类型,而不是集合本身。resultType 和 resultMap,不能同时使用。
3.2.2: 简单类型
1 | 接口方法: |
3.2.3:对象类型
1 | 接口方法: |
3.2.4:Map
sql 的查询结果作为 Map 的 key 和 value。推荐使用 Map<Object,Object>。 注意:Map 作为接口返回值,sql 语句的查询结果最多只能有一条记录。大于一条记录是错误。
1 | 接口方法: |