ibatis

写道
ibats不需要javabean靠List<map>实现一对多例子配置
<resultMap id="singleSitePosResult" class="java.util.HashMap">
<result property="siteId" column="siteId" javaType="string" jdbcType="string"/>
<result property="x" column="x" javaType="int" jdbcType="int"/>
<result property="y" column="y" javaType="int" jdbcType="int"/>
</resultMap>
<select id="getSingleSitePos" parameterClass="string" resultMap="singleSitePosResult">
SELECT SiteId,x,y FROM SitePosition WHERE BackgroundId=#backgroundId#
</select>

<resultMap id="allSitePosResult" class="java.util.HashMap">
<result property="backgroundId" column="backgroundId" javaType="string" jdbcType="string"/>
<result property="sitePosMap"javaType="java.util.ArrayList"select="getSingleSitePos"column="BackgroundId"/>
</resultMap>
<select id="getAllSitePos" resultMap="allSitePosResult">SELECT BackgroundId FROM SitePosition</select>


<!--
示例:产品类型
-->
<sqlMap namespace="ProductClass">
<resultMap id="manyResult" class="java.util.HashMap">
<result property="xiaoid" column="xiaoid"/>
<result property="xiaoname" column="xiaoname"/>
<result property="parentid" column="parentid"/>
</resultMap>
<resultMap id="oneResult" class="java.util.HashMap">
<result property="daid" column="daid" />
<result property="daname" column="daname" />
<result property="children" javaType="java.util.ArrayList" select="selectMany" column="daid" />
</resultMap>
<select id="selectOne" resultMap="oneResult">
SELECT JZDL_DM as
daid,JZDL_MC
as daname from DM_JZDL
</select>
<select id="selectMany" resultMap="manyResult" parameterClass="string">
SELECT JZXL_DM as
xiaoid,JZXL_MC as xiaoname,JZDL_DM as parentid
from
DM_JZXL where
JZDL_DM=#daid#
</select>

</sqlMap>


Ibatis版本
iBATIS 三个版本小细节对比

之前受iBATIS 版本问题的打击实在太大, 便决定把iBATIS三个版本的一些改动的地方罗列出来对比一下, 方便以后查阅, 也用于警醒自己.
sqlMapConfig.xml 中的异同.


iBATIS_v1
iBATIS_v2
iBATIS_v3
DOCTYPE
sql-map-config.dtd
sql-map-config-2.dtd
ibatis-3-config.dtd
configuration标签
<sql-map-config>
</sql-map-config>
<sqlMapConfig>
</sqlMapConfig>
<configuration>
</configuration>
sqlMap标签
<sql-map recource../>
<sqlMap recource../>
<mappers>
<mapper recource.. />
</mappers>

sqlMap 映射中的异同


iBATIS_v1
iBATIS_v2
iBATIS_v3
DOCTYPE
sql-map.dtd
sql-map-2.dtd
ibatis-3-mapper.dtd
sqlMap标签
<sql-map>
</sql-map>
<sqlMap>
</sqlMap>
<mapper>
</mapper>
statement标签
<mapped-statement>
</mapped-statement>
<select></select>
<update></update>
<statement></>…
<select></select>
<update></update>

参数表示
#id#
#id#
#{id}

sqlMap API的异同


iBATIS_v1
iBATIS_v2
iBATIS_v3
执行对象
SqlMap
SqlMapClient
SqlSession
得到执行
XMLSqlMapBuilder->
builderSqlMap
SqlMapClientBuilder->
builderSqlMap
SqlSessionFactory->
openSession
执行
excuteQueryForObject
queryForObject..
queryForList…
update…
selectOne…
selectList…
update…

三个版本的部分对比, 暂时完成… 但是, 最近, iBATIS 怎么就变成了 MyBatis … 看了一下官方的文档, 貌似跟iBATIS_v3相差不是很大. 但愿, 以后改版的时候, 文档中可以细心的提醒一下, 新版跟旧版的差别, 或者做干脆\一点, 能够兼容旧的版本就更好了…

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值