命名:

1.表对应的实体类的类名+Mapper.xml

2.映射文件的namespace要和mapper接口的全类名一致,当调用Mapper接口中的方法,它会现根据Mapper接口的全类名去找映射配置文件,然后根据方法名字去找对应的SQL语句.

3.映射文件中SQL语句的id要和mapper接口中的方法名一致

路径:

1.在mapper包下面创建mapper接口,里面定义操作数据库中表的相关方法

2.在resources目录下面建mybatis的核心配置文件

mapper标签的namespace属性:

1.当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动帮你找到对应要执行的SQL语句

2.接口中的方法与映射文件中的SQL语句的ID一一对应.

3.直接面向接口编程,不需要写实现类

增删改查的标签:

标签的分类:

insert:添加

delete:删除

update:修改

select:查询

标签的属性:

id属性:

1.唯一标识符

2.如果命名空间和id组合起来不唯一会抛出异常

select标签:

有特有的resultType或者resultMap属性

resultType:

1.返回值类型。 – 别名或者全类名,如果返回的是集合,定义集合中元 素的类型。不能和resultMap同时使用

2.在查询返回List集合时,resultType要写集合中元素的类型

resultMap:

1.表示将查询结果集中的列一一映射到bean对象的各个属性。映射的查询结果集中的列标签可以根据需要灵活变化,并且,在映射关系中,还可以通过typeHandler设置实现查询结果值的类型转换,比如布尔型与0/1的类型转换。

标签体中的内容:

自己编写的SQL语句

怎么在映射配置文件的sql语句中获取接口方法的参数

获取参数的方式:

1.#{}

1.预编译处理:#{}是sql的参数占位符,Mybatis会将sql语句中的#{}替换成?号
在sql执行前会使用PreparedStatement的参数设置方法来动态对sql语句赋值

2.使用#{}可以有效的防止SQL注入,提高系统安全

3.一般能用#{}就别用${}

2.${}

1.字符串替换

2.一般用于传入数据库对象 例如传入表名 必须加单引号

@Param注解

1.给每个参数取个名字,#{}或者${}就可以根据取得名字获取参数

2.当方法只有一个参数的时候可以省略@Param

a.这个参数是简单类型 #{任意字符串}

b.这个参数是实体Bean类型 #{实体Bean的属性名}

结果集映射

1.自动映射

a.resultType属性

要求结果集的字段名与封装结果集的实体Bean的属性名一致

b.驼峰映射

2.手动映射

a.使用resultMap标签编写手动映射规则

1.标签分类

id标签对结果集中主键字段进行映射规则配置

result标签对结果集中的非主键字段进行映射规则配置

2.标签的属性

column属性:要进行映射的结果集的字段名

property属性:要映射到的实体Bean的属性

b.在select标签中通过resultMap属性引用上述定义的手动映射规则的id

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信