ibatis学习 : xml配置 -- 级联查询

本文记录了作者在学习Ibatis时,关于XML配置级联查询的理解过程。通过示例说明了如何在MalltShopCategory.xml中进行查询,并解释了resultMap的重要性。原本以为Ibatis的XML配置与数据库表对应,实际上它可以自由定义结果集,允许将多个resultMap合并,简化select语句。作者计划进行测试验证这一发现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚学习ibatis,xml配置的级联查询做个记录

 

MalltShopCategory.xml

<typeAlias alias="malltShopCategory" type="com.sitech.item.bean.MalltShopCategory"/>
	
	<resultMap id="result1" class="malltShopCategory">
		<result property="shop_category_id" column="shop_category_id"
			columnIndex="1" jdbcType="LONG" />
		<result property="shop_id" column="shop_id" jdbcType="VARCHAR" />
		<result property="shop_category_name"
			column="shop_category_name" jdbcType="VARCHAR" />
		<result property="state" column="state" jdbcType="VARCHAR" />
		<result property="add_user" column="add_user"
			jdbcType="VARCHAR" />
		<result property="add_time" column="add_time" jdbcType="DATE" />
		<result property="update_user" column="update_user"
			jdbcType="VARCHAR" />
		<result property="update_time" column="update_time"
			jdbcType="DATE" />
<!-- 		<result property="malltMdlCsShpCtgry" column="shop_category_id"
			select="getTEST"/>  -->
	</resultMap>

<resultMap id="result2" class="com.sitech.item.bean.MalltMdlCsShpCtgry">
		<result property="mdl_cs_shp_ctgry_id"
			column="mdl_cs_shp_ctgry_id" columnIndex="1" jdbcType="LONG" />
		<result property="module_case_id" column="module_case_id"
			jdbcType="LONG" />
		<result property="shop_category_id" column="shop_category_id"
			jdbcType="LONG" />
		<result property="module_template_link_id"
			column="module_template_link_id" jdbcType="LONG" />
		<result property="link_url" column="link_url"
			jdbcType="VARCHAR" />
		<result property="picture_id" column="picture_id"
			jdbcType="INT" />
		<result property="if_display" column="if_display"
			jdbcType="VARCHAR" />
		<result property="sort" column="sort" jdbcType="INT" />
		<result property="add_user" column="add_user"
			jdbcType="VARCHAR" />
		<result property="add_time" column="add_time" jdbcType="DATE" />
		<result property="update_user" column="update_user"
			jdbcType="VARCHAR" />
		<result property="update_time" column="update_time"
			jdbcType="DATE" />
	</resultMap>

<select id="queryList" resultMap="result1" parameterClass="long">
		select * from Mallt_Shop_Category msc where msc.shop_category_id = #shop_category_id#
	</select>

<select id="getTEST" resultMap="result2" parameterClass="long">
		select * from Mallt_Mdl_Cs_Shp_Ctgry where shop_category_id = #shop_category_id#
	</select>


queryForList("queryList", shop_category_id); 就可以把两张表的关联数据一次查询出来了,刚学没弄明白resultMap的作用,程序一直报错,resultMap=“” 对应的就是<resultMap>的id

 

以上是昨天做的,今天问了下别人,原来ibatis的xml文件不是像Hibernate 的xml文件是和数据库一一对应的,ibatis的这个xml可以随意定义为自己想要的结果集,MYGOD,也就是说可以把这两个resultMap写在一起,<resultMap id="xxxxxinfo">,select语句就可以合并了,select * from Mallt_Shop_Category msc ,Mallt_Mdl_Cs_Shp_Ctgry mmcsc where msc.shop_category_id = mmcsc.shop_category_id      先在这做个记录,一会去测试下

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值