首页 > 代码库 > ibatis查询SQL语句返回一个对象,此对象包含一个List属性
ibatis查询SQL语句返回一个对象,此对象包含一个List属性
可能标题说的不是很明白,具体其实就是:
我需要查询一个用户,但是这个用户拥有多张试卷,所以我将试卷这个对象,作为User对象的一个属性,这个属性为List类型。这样我在SQL查询时直接查询user表返回user对象,此user对象包含一个属性(List<Test>多张试卷)。
java实体类对应关系:
public class Test{ private Integer userID; // 主键ID private String username; // 姓名 private String idCard; // 身份证号 private Integer sex; //性别 private String mobilePhone; // 手机号 private List<Test> propertyList; //List属性 }
ibatis对应XML文件查询代码:
<resultMap id="List_result" class="com.ceshi.user.domain.User"> <result property="userID" column="userID"/> <result property="idCard" column="idCard"/> <result property="username" column="username"/> <result property="mobilePhone" column="mobilePhone"/> <result property="propertyList" column="{userID=userID}" select="getpropertyList"/> </resultMap> <select id="getpropertyList" parameterClass="HashMap" resultClass="com.ceshi.user.domain.User"> SELECT userID ,paperName, GROUP_CONCAT(courseRecomm SEPARATOR ‘,‘) courseRecomm FROM test WHERE userID = #userID# GROUP BY userID,paperName </select> <select id="getList" parameterClass="com.ceshi.user.domain.User" resultMap="List_result"> SELECT a.userID, a.idCard, a.username, CASE a.sex WHEN ‘1‘ THEN ‘女‘ ELSE ‘男‘ END AS sexName, a.mobilePhone, FROM user a <dynamic prepend="WHERE"> <isNotNull prepend="AND" property="userID"> a.userID=#userID# </isNotNull> <isNotNull prepend="AND " property="username"> a.username like‘%$username$%‘</isNotNull> <isNotNull prepend="AND" property="idCard"> a.idCard=#idCard# </isNotNull> </dynamic> ORDER BY a.userID DESC </select>
简单来张图说明一下;
查问卷表拼接用户结果是这样的:同一个人对应多张试卷,查询试卷表结果。
但是我只想查用户表,也返回用户对应的试卷,也就是这样:
记录一下,虽然简单。
ibatis查询SQL语句返回一个对象,此对象包含一个List属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。