本篇文章小编给大家分享一下mybatis框架的xml映射文件常用查询代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
什么是Mybatis框架?
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
如何使用?
pom文件依赖
org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.3
yml文件配置,这里匹配 resource/mapper/ 路径下的映射文件。
mybatis: mapper-locations: classpath:mapper/*.xml
在xml文件中绑定持久层接口和实体对象
<?xml version="1.0" encoding="UTF-8"?> Word" column="pass_word" jdbcType="VARCHAR"/>
mapper标签中的namespace属性指定的是我们持久层接口的项目路径
resultMap是Mybatis最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中
resultMap标签的type属性是我们要映射的实体对象的项目路径,id为resultMap的唯一标识。
resultMap中的result标签是实体和数据库表字段的绑定,其中property属性为实体对象的属性名,column为数据库的字段名,jdbcType是字段的类型。
xml映射文件的sql编写
通过实体作为筛选条件查询
select id,
host_name,
ip,
user_name,
pass_word,
state,
tag,
gmt_created,
gmt_modified
from host
and id = #{id}
and host_name like CONCAT('%', #{hostName}, '%')
and ip like CONCAT('%', #{ip}, '%')
and user_name = #{userName}
and pass_word = #{passWord}
and state = #{state}
and tag = #{tag}
and gmt_created = #{gmtCreated}
and gmt_modified = #{gmtModified}
/if>
id="queryAll"为持久层接口的抽象方法名
resultMap="HostMap" 指定查询结果接收的resultMap的结果集。
持久层接口绑定
/** * 条件查询 * * @param host 条件查询 * @return 对象列表 */ List queryAll(Host host);
通过主键批量删除
delete
from host
where id in
#{id}
以上sql语句的原型为
delete from host where id in(1,2,3)
foreach标签中的属性理解
collection属性为接收的数据源
item为集合中的每一个元素
index :用于表示在迭代过程中,每次迭代到的位置
open :表示该语句以什么开始
separator :表示在迭代时数据以什么符号作为分隔符
close :表示以什么结束
持久层接口抽象方法
/**
* 批量删除主机
*
* @param hostIds 主机id数组
* @return Integer
*/Integer deleteHostByIds(@Param("hostIds") Long[] hostIds);
批量新增
insert into host_and_group(host_group_id, host_id)
values
(#{hostGroupId}, #{hostId})
持久层接口方法
/** * 将多个主机添加至一个主机组 * * @param request * @return Integer */Integer addHostList(HostAndGroupRequest request);
我是元素封装在一个对象中,所以这个对象里有批量增加的元素,则直接可以传一个对象。
uc浏览器网页版入口官网-手机/电脑uc浏览器网页版入口地址
little fox官方网站入口地址-little fox网页版中国官网入口地址
樱花动漫网官网在线观看入口-樱花动漫网最新网页版入口地址2026
剑桥少儿英语官网入口网址-剑桥少儿英语网页版入口地址
手机百度网盘登录入口地址-百度网盘手机网页版登录入口地址
192.168.1.1无线路由怎么访问?192.168.1.1无线路由器设置登录入口地址