Mybatis sql标签使用变量
记录演示 Mybatis
中 sql
标签中使用变量的方法
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.DemoMapper">
<!-- sql片段标签中定义变量 -->
<sql id="demoSql">${alias}.id ${prefix}Id, ${alias}.name ${prefix}Name</sql>
<!-- 查询语句 -->
<select id="selectGroupById" parameterType="java.lang.String" resultMap="demoMap">
select
<include refid="demoSql">
<!-- 可使用 property 标签向语句片段中注入变量,name为sql标签中的变量名,value为对应的变量值 -->
<property name="alias" value="t"/>
<property name="prefix" value="stu"/>
</include>
from `t_student` t where t.`id` = #{id,jdbcType=VARCHAR}
</select>
</mapper>
以上配置最终生成的SQL语句如下
select t.id stuId, t.name stuName from `t_student` t where t.`id` = '调用时传入的参数'