MyBatis支持的三个特殊的参数:设置好开发更快

MyBatis支持的三个特殊的参数:

列参数:${columns}传递动态列
select ${columns} from t_tablename

sql参数:#{prefix}和${tablename}传递不同的表
        #{prefix}引入部分的sql
        ${tablename}引入全部的sql

//在这里定义sql
<sql id="role_columns">
   #{prefix}.role_no,#{prefix}.role_name,#{prefix}.note
</sql>

//引入部分的sql
//在这里通过include和property引用
<select parameterType="String" id="getRole" resultMap="roleResultMap">
   select 
       <include refid="role_columns">
           <property name="prefix" value="r"/>
       </include>
   from t_role r
   where role_no=#{roleNo}
</select>

//引入全部的sql语句
//这里定义
<sql id="someinclude">
    select * from <include refid="${tableName}"/>
</sql>

//在这里引用通过Include和property
<select parameterType="String" id="getRole" resultMap="roleResultMap">
    <include refid="someinclude">
        <property name="tableName" value="t_role"/>
    </include>
</select>
注意:
id需要用refid来引用
refid需要name和value来传值
因为传值的步骤无非是先指定传递的对象 然后指定传递的值 最后开始传递

猜你喜欢

转载自blog.csdn.net/weixin_42204641/article/details/81224846