MyBatis零基础回顾-01

1、Mybatis概述

mybatis是一个操作数据库的持久层框架,它是一个半自动ORM框架,操作数据库的语句,需要程序员来自己抒写。

2、入门案例-【这种方式不怎么常用,入门就这样实现了】

创建项目导入jar包

MyBatis零基础回顾-01

创建一个实体类

MyBatis零基础回顾-01

创建核心配置文件,官方推荐名字:sqlMapConfig.xml

log4j.xml是一个日志文件的配置,网上有

MyBatis零基础回顾-01

创建实体类的映射文件,推荐命名规则:类名+Mapper.xml

MyBatis零基础回顾-01

核心配置文件详情

MyBatis零基础回顾-01

映射文件详情

MyBatis零基础回顾-01

代码测试

测试之前你的数据要有一张存在的表,不然你映射文件的sql语句没办法写,字段名与类属性名对应,后面会说不对应的情况怎么处理。

MyBatis零基础回顾-01

3、入门案例-面对接口实现

使用接口实现,要注意一下几点:

映射文件的命名必须是接口的全路径名,这样映射文件才能和接口绑定。

映射文件里面的select查询ID值要与接口中方法的命名一样。

创建接口

MyBatis零基础回顾-01

映射文件配置

MyBatis零基础回顾-01

代码测试

MyBatis零基础回顾-01

4、核心配置文件引入properties文件

MyBatis零基础回顾-01MyBatis零基础回顾-01

5、Mybatis中常用配置项

MyBatis零基础回顾-01

6、别名管理

MyBatis零基础回顾-01

MyBatis零基础回顾-01

批量别名

MyBatis零基础回顾-01

MyBatis零基础回顾-01

MyBatis零基础回顾-01

7、environment属性配置Mybatis不同的运行环境

MyBatis零基础回顾-01

8、设置不同数据库厂商

MyBatis零基础回顾-01

MyBatis零基础回顾-01

9、Mappers标签详解-加载映射文件

MyBatis零基础回顾-01

MyBatis零基础回顾-01MyBatis零基础回顾-01

10、最基础的增删改

MyBatis零基础回顾-01

MyBatis零基础回顾-01

MyBatis零基础回顾-01

MyBatis零基础回顾-01

MyBatis零基础回顾-01

MyBatis零基础回顾-01

11、获取增加后的主键值

mysql下这么写

MyBatis零基础回顾-01

Oralce获取主键值

MyBatis零基础回顾-01

12、Mybatis方法传参详解

第一:如果方法传递的是一个参数,#{参数名}  参数名可以随便起

第二:如果方法传递多个参数,那么mybatis会将参数封装成一个map

key是:param1--paramN  value:是我们传入的值

MyBatis零基础回顾-01

取的话可以#{param1}  也可以取#{0}#{1}取索引位置

MyBatis零基础回顾-01

 

第三:使用@Param()标签 为参数设置一个名称,然后#{设置的名称}

MyBatis零基础回顾-01

MyBatis零基础回顾-01

第四:传递参数为Map,那么#{key}就能取出key中的值

12、#{}与${}的区别

#{}:采用占位符的形式,将参数设置到sql语句中的,可以防止sql注入

${}:取出的值直接拼接到sql语句的

${}一般使用在原生sql不支持占位符的方式时使用,比如动态设置表名,或者排序,

select * from ${参数表名} ordey by ${参数字段名} ${参数排序方式}

13、查询返回List、Map集合

list

MyBatis零基础回顾-01

map

返回一条记录的 map类型

MyBatis零基础回顾-01

MyBatis零基础回顾-01

返回多条记录的 map类型

MyBatis零基础回顾-01

MyBatis零基础回顾-01

14、自定义返回集---resultMap

MyBatis零基础回顾-01

MyBatis零基础回顾-01

MyBatis零基础回顾-01

15、resultMap关联查询-one

MyBatis零基础回顾-01

MyBatis零基础回顾-01

MyBatis零基础回顾-01

16、resultMap关联查询-two

MyBatis零基础回顾-01

17、resultMap关联查询-Three

MyBatis零基础回顾-01

分步查询可是使用延迟加载

lazyLoadingEnabled  开始延迟加载

aggressiveLazyLoading 关闭直接加载

延迟加载,当我需要第二个select查询的数据的时候,才会去发sql查询

MyBatis零基础回顾-01

18、关联查询 list-one

MyBatis零基础回顾-01

MyBatis零基础回顾-01

MyBatis零基础回顾-01

 

19、关联查询 list--Two

MyBatis零基础回顾-01

MyBatis零基础回顾-01

MyBatis零基础回顾-01

20、discriminator鉴别器

MyBatis零基础回顾-01