Mybaits---关于关联表数据查询
2016-05-06 14:52
579 查看
<resultMap id="ResultListUser" type="com.cwh.model.User" > <id column="id" property="id" jdbcType="INTEGER"/> <result column="userName" property="userName" jdbcType="VARCHAR"/> <result column="userAge" property="userAge" jdbcType="VARCHAR"/> <result column="userAddress" property="userAddress" jdbcType="VARCHAR"/> </resultMap> <resultMap type="com.cwh.model.Article" id="resultUserArticleList"> <id column="id" property="id"/> <result column="title" property="title" /> <result column="content" property="content" /> <association property="user" javaType="com.cwh.model.User" resultMap="ResultListUser"/> </resultMap> <select id="getUserArticles" parameterType="int" resultMap="resultUserArticleList"> select article.id,article.title,article.content, user.id,user.userName,user.userAddress from user,article where user.id=article.userid and user.id=#{id} </select>
关联查询有两种写法,主要用以上这种,这样代码复用性比较大,在用这种方式是需特别注意的一点就是在查询语句写时注意主表关系,以多的一方为主,查询语句写的时候必须以article表的字段写在前面。
如果顺序调反,像以下错误写法:(那么出现查询结果只有是一条数据)
<select id="getUserArticles" parameterType="int" resultMap="resultUserArticleList"> select user.id,user.userName,user.userAddress,article.id,article.title,article.content from user,article where user.id=article.userid and user.id=#{id} </select>
修改一下,纠正下,其实存在这种问题是两张表都有同一个名的字段叫id,所以其实查询的时候把从表的ID这个字段另名一下就好了。
相关文章推荐
- Baidu的正确打开方式
- publishing failed with multiple errors
- Container With Most Water
- INFO org.apache.hadoop.ipc.RPC: Server at master/192.168.200.128:9000 not available yet, Zzzzz...
- AIDL
- Access denied for user 'xxx'@'localhost.localdomain' (using password: YES))
- 人工智能将超越人类吗?
- svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted
- [AIR] 利用SnapShot.exe实现QQ截屏功能
- 创建新的domain
- 使用AIDL分析Binder的工作机制
- 在MVC中使用async和await的说明
- 219. Contains Duplicate II
- LeetCode 220. Contains Duplicate III(检查重复)
- [Util] can not load library from so file +++ register push fail. token:null, errCode:10004,msg:COD
- LeetCode 219. Contains Duplicate II(检查重复)
- LeetCode 217. Contains Duplicate(检查重复)
- 真机上装不上测试应用,Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
- maven/jekinsFailed to connect to repository : Command