sql Map .xml的通配符

在ibatis的配置中

  • 每一个内嵌的参数是#id#和#description#。
    每个参数代表一个 Java Bean 属性.

Ibatis.xml中#与$ 的意思

# 表示的是占位符 #***#
表示的字符串拼接{}
|| 进行字符串连接 ||
***$ 动态的sql语句

如果id = 3
id = #{id}  生成的sql语句是 id = ?
    使用的是PreparedStatement,执行时,通过setXXX方法,将值加入在sql语句,如setInt(1, 3)
id = ${id}  生成的sql语句是 id = 3
    直接拼接成sql语句,做的是字符串拼接操作
<statement id=”getProduct” resultMap=”get-product-result”> 
      SELECT * FROM PRODUCT
   <dynamic prepend=”WHERE”> 
          <isNotEmpty property=”description”> 
               PRD_DESCRIPTION $operator$ #description# 
           </isNotEmpty> 
   </dynamic> 
</statement>

上面的例子中,参数对象的operator属性将用于替代符号operator
因此,假如operator属性等于“like”,description属性等于“%dog%”,生成的SQL语句如下:
SELECT * FROM PRODUCT WHERE PRD_DESCRIPTION LIKE ‘%dog%’

SQL Map XML

    <sqlMap id="Product">
        <typeAlias alias="" type="">
        <parameterMap id="" class="">
            <parameter property="" >
        </parametermap>
        parameterClass
        <resultMap id="" class="" >
            <result id="" column="" />
        </resultMap> 
        resultClass
       
        <select    id="" (paramterMap=""| parameterClass="")  
           (resultMap=""|resultClass="")>
            <![CDATA[
                SELECT * FROM  PRODUCT
            ]]> 
    </sqlMap>

PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容