在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属性等于“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: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!