当前位置: 首页 > 后端技术 > Node.js

你知道Mybatis框架是如何实现级联关系的吗?_0

时间:2023-04-03 23:23:45 Node.js

级联关系实现方法一对一一对多案例实践一对一关系实现方法resultType/resultMap接口方法/**一对一关联查询resultType@paramuserId@return*/UserDtoqueryUserCardInfoForResultType(@Param("userId")intuserId);sql查询SELECTu.id,u.user_nameASuserName,u.user_pwdASuserPwd,u.flag,u.cid,c.numberFROMUSERuLEFTJOINcardcONu.cid=c.idWHEREu.id=#{userId}resultTypeimplementSELECTu.id,u.user_nameASuserName,u.create_time,u.flag,u.cidAScid,c.numberFROMUseruLEFTJOINcardcuONu.cid=c.idWHEREu.id=#{id}resultMap实现SELECTu.id,u.user_name,u.true_name,l.role_nameFROMt_useruJOINt_user_rolerON(u.id=r.user_id)JOINt_rolelon(r.role_id=l.id)WHEREu.id=#{id}resultMap+association现实resultMap映射定义查询SELECTid,role_idFROMt_user_roleWHEREid=#{id}SELECTid,role_name,role_remarkFROMt_roleWHEREid=#{role_id}一对多关系实现方式:resultMap实现resultType有局限性,不能去重,需要手动处理ResultMap定义查询从yg_goods中选择id,name,promotePriceWHEREid=#{id}SELECTid,goods_skuid,goods_imgFROMyg_goods_imgagewheregoods_skuid=#{id}扩展sqlsql元素用来定义一个可以可重用SQL语句段用于其他语句调用如:userId,userName,password选择fromuserwhereuserId=#{userId}

最新推荐
猜你喜欢