设为首页 收藏本站
查看: 981|回复: 0

[经验分享] mybatis学习遇到的问题

[复制链接]

尚未签到

发表于 2016-11-26 10:55:25 | 显示全部楼层 |阅读模式
  直接上代码
  一对一查询:

<mapper namespace="com.inspur.idcrm.mapper.UserMapper">
<resultMap type="User" id="userMap">
<id property="id" column="id"/>
<result property="userID" column="USER_ID"/>
<result property="userName" column="USER_NAME"/>
<result property="userSex" column="USER_SEX"/>
<result property="userTel" column="USER_TEL"/>
<result property="userEmail" column="USER_EMAIL"/>
<association property="customer" column="USER_CUSTOMERID" javaType="Customer">              
<id property="id" column="id" />              
<result property="customerCode" column="CUSTOMER_CODE"/>
<result property="customerName" column="CUSTOMER_NAME"/>
<result property="customeraddress" column="CUSTOMER_ADDRESS"/>
<result property="customerContancts" column="CUSTOMER_CONTANCTS"/>
<result property="customerTel" column="CUSTOMER_TEL"/>
<result property="customerEmail" column="CUSTOMER_EMAIL"/>
<result property="customerMemo" column="CUSTOMER_MEMO"/>
<result property="customerTypeID" column="CUSTOMER_TYPEID"/>
<result property="manageName" column="MANAGE_NAME"/>
<result property="manager" column="MANAGER"/>
<result property="managerTel" column="MANAGER_TEL"/>
<result property="customerTeName" column="CUSTOMER_TE_NAME"/>
<result property="customerTeTel" column="CUSTOMER_TE_TEL"/>        
</association>
<collection property="roleList" javaType="ArrayList" column="id" ofType="Role" select="selectUserRoles" >  
<id property="id" column="id"/>
<result property="roleName" column="role_name" javaType="string" jdbcType="VARCHAR"/>
<result property="roleDesc" column="role_desc" javaType="string" jdbcType="VARCHAR"/>
</collection>
</resultMap>
  customer对象与User是一对一关系,通过配置association 进行关联,查询用户信息,同时把用户所属单位也查询出来。
  一对多关系
  配置collection进行关联,查询用户信息把每个用户的所有角色信息也查询出来

<select id="getUserList2"  parameterType="User" resultType="java.util.List" resultMap="userMap">
select *
from t_user as u, t_customer as c where 1=1 and u.USER_CUSTOMERID = c.id
<if test="id!=null and id!=''">
and id=#{id}
</if>
<if test="userID!=null and userID!=''">
and USER_ID=#{userID}
</if>
<if test="userName!=null and userName!=''">
and USER_NAME LIKE CONCAT(CONCAT('%', #{userName}),'%')
</if>
<if test="userSex!=null and userSex!=''">
and USER_SEX =#{userSex}
</if>
<if test="userTel!=null and userTel!=''">
and USER_TEL LIKE CONCAT(CONCAT('%', #{userTel}),'%')
</if>
<if test="userEmail!=null and userEmail!=''">
and USER_EMAIL LIKE CONCAT(CONCAT('%', #{userEmail}),'%')
</if>
<if test="customer!=null and customer!=''">
and USER_CUSTOMERID=#{customer.id}
</if>
</select>
<select id="selectUserRoles" resultType="Role" parameterType="int">  
select r.id,r.role_name  as roleName,r.role_desc as roleDesc from t_role r left join t_user_role u on r.id=u.ROLE_ID where u.USER_ID=#{id}
</select>
  <select id="selectUserRoles" resultType="Role" parameterType="int"> 
select r.id,r.role_name  as roleName,r.role_desc as roleDesc from t_role r left join t_user_role u on r.id=u.ROLE_ID where u.USER_ID=#{id}
</select>
  这个地方遇到一个问题,由于返回时resultType是javabean,如果sql语句中不加别名,无法与javabean的属性进行一一对应,如果不添加别名,需要配置一个role的resultMap。初学者出现情况

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-305827-1-1.html 上篇帖子: MyBatis实现简单的分页 下篇帖子: mybatis中selectKey的使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表