MyBatis入门(二)
本文最后更新于:November 4, 2022 pm
MyBatis入门(二)
一、MyBatis如何通过XML方式对JDBC实现封装
二、MyBatis的CRUD
修改操作
step1、编写dao接口和方法
1 |
|
step2、修改映射文件
step3、测试即可
删除操作
step1、编写dao接口
1 |
|
step2、映射文件
step3、测试
查询所有的记录
情况一:结果集的字段名(非表的字段名)和实体类属性名一致
step1、编写dao接口
1 |
|
step2、映射文件
step3、测试即可
情况二:结果集的字段名(非表的字段名)和实体类属性不一致
step1、dao接口
1 |
|
step2、映射文件
手动映射名称不一致的情况
step3、测试类
条件查询
情况一:只有一个简单类型的参数
step1、dao接口
1 |
|
step2、映射文件
step3、测试
情况二:有多个简单类型的参数
step1、dao接口
1 |
|
step2、映射文件
自己指定参数名称
step3、测试类
情况三:使用VO对象进行封装多个参数
VO:Value Object,专门封装数据的(类似POJO)。
step1、把查询条件封装到一个VO对象中
step2、编写dao接口
1 |
|
step3、映射文件
step4、测试类
模糊查询
方式一:
step1、dao接口
1 |
|
step2、映射文件
step3、测试类
方式二:(推荐)
concat函数,不同的数据库是不同的。MySQL的concat可以支持多个字符串进行拼接。Oracle的concat支持2个字符串进行拼接。
step1、dao接口
1 |
|
step2、映射文件
step3、测试类
方式三:(了解)
step1、dao接口
1 |
|
step2、映射文件
step3、测试
#{username}和${username}的区别是什么?
#表示占位符
$表示字符串拼接,存在SQL注入的问题,不建议使用。
关于映射文件
标签 | 属性 | 说明 |
---|---|---|
mapper | namespace | 唯一的区分不同的配置文件。在使用代理方式的dao编码时,取值要和Dao接口名称保持一致 |
insert、delete、update、select | id | 文件中要求唯一。在使用代理方式的dao编码时,取值要和dao接口的方法保持一致 |
insert、delete、update、select | parameterType | 指定参数的类型。Integer存在别名:int、integer。绝大多数情况可以省略该属性。因为MyBatis能反射出类型。 |
insert、delete、update、select | resultType | 指定实体的类型。在结果集的字段名和实体类属性名一致时使用。自动映射。 |
insert、delete、update、select | resultMap | 一般要配合resultMap标签使用。指向手动映射的id的取值 |
MyBatis入门(二)
http://clearlight.com.cn/posts/33725.html