一、bind
bind 元素可以从 OGNL 表达式中创建一个变量并将其绑定到上下文。比如:
以下是三种写模糊查询的方式:
调用:stuOperation.selectUser1("%t%");
<select id="selectUser1" resultType="teacher" >
select * from `tb_Teacher`where name like #{name}
</select>
select * from `tb_Teacher`where name like ?
<select id="selectUser" resultType="teacher" >
<!--
之前写的SQL要在测试传参时就要写具体的查询比如要查name like #{name} 传参就是%t% 不支持在SQL语句中进行再加工
现在想传参就用t,在SQL中进行更改,则用bind标签
bind:可以将ognl表达式的值保定到一个变量中,方便以后使用
-->
<bind name="likename" value="'%'+name+'%'"/>
select * from `tb_Teacher`where name like #{likename}
</select>
select * from `tb_Teacher`where name like "%"?"%"
<select id="selectUser2" resultType="teacher" >
select * from `tb_Teacher`where name like "%"#{name}"%"
</select>
二、sql
<insert id="insertUser" parameterType="teacher" >
insert into tb_Teacher(
<include refid="insertColumn">
</include>
) values(#{name},#{email})
</insert>
<!-- 将多次公共用的部分封装起来,方便使用 -->
<sql id="insertColumn">
name,email
</sql>