SQL片段的作用和使用

  • 作用:
    将重复的sql语句抽出来放到sql标签中,然后通过<include refid=”” />来引入
<sq1 id="userColumns">id,user_name,password,name,age,sex,birthday,created,updated</sql>
<select id= "queryUserByID" parameterType= "long" resultMap= "userResul tMap">
	SELECT <include refid="userColumns"/> FROM tb_ user WHERE id = ${id}
</select>

sql片段有两种用法:

第一种:

在一个mapper.xml 中使用<sql id=(id就是一个标识)> 去定义sql片段,然后在需要的位置使用<include> 引入

注意:这里include里面的refid属性填写的内容是定义sql片段的id

<!--定义sql片段-->
<sql id= "userColumn ">
	id, user_ name,password, name , age, sex, birthday , created , updated
</sql>
<!--书写CURD操作 -->
<!--id是方法的名字
resultType :结果集映射类型
-->
<select id= "queryAllUser" resultType= "User">
	select <include refid= "userColumn"></include> from tb_ user
</ select>

第二种:

将所有的公用的SQL片段集中定义到一个Mapper.xml文件中,其他Mapper.xml文件如需引入mybatis-config.xml,通过命名空间.id即可

sqlMapper.xml里面的内容:

<mapper namespace= "abc">
	<sql id= "userColumn">
		id,
		user_ name,
		password,
		name ,
		age,
		sex,
		birthday,
		created, .
		updated
	</sql>
</ mapper>

这个单独写出来的一个xml文件,需要重新的在全局的mybatis-config.xml里面引入sqlMapper.xml

<mappers>
	<!--
	引入sqlMapper.xml -->
	kmapper resource= "cn/yanqi/mybatis/resources/ sqLMapper .xmL"/>
</mappers>

在查询标签语句当中引入公共的sql.xml片段
命名空间.id

<select id= "queryUserById" resultType= "User" parameterType= "Long">
	select <include Fefid= "abc.userColumn"</include> from tb_user where id = #{as}
</select>
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值