2 xiangwanpeng xiangwanpeng 于 2017.01.04 20:23 提问

mybatis generator能否通过生成成员类的方式实现关联关系 30C

例如现在有Department和Employee的一对多关联关系,通过hibernate逆向生成实体类时,在Employee类中是这样的反映关联关系的:

 private Department department;

感觉这样在查询employee和department关系时比较方便,但是通过mybatis generator逆向生成时,在Employee中是这样反映的:

 private Integer departmentId;

即hibernate中是通过成员类,而mybatis中是通过外键字段,我知道这样也可以实现,但是觉得不如上面的方法方便,请问是否可以通过某种配置更改?

4个回答

JE_GE
JE_GE   2017.01.04 20:56


select u.id,u.name,u.age,d.id did,d.name dname
from t_user u join t_dept d
on
u.dept_id=d.id

<resultMap type="User" id="resultMapUser">
    <id column="id" property="id" />
    <result column="name" property="name" />
    <result column="age" property="age" />
    <association property="dept" javaType="Dept">
        <id column="did" property="id" />
        <result column="dname" property="name" />
    </association>
</resultMap>
xiangwanpeng
xiangwanpeng 现在User类中关于Dept的字段是什么?是一个Integer类型的deptId,还是Dept类型的dept?
12 个月之前 回复
JE_GE
JE_GE   2017.01.04 20:57
 <select id="findAll" resultMap="resultMapUser">
        select u.id,u.name,u.age,d.id did,d.name dname
        from t_user u join t_dept d
        on
        u.dept_id=d.id
    </select>

    <resultMap type="User" id="resultMapUser">
        <id column="id" property="id" />
        <result column="name" property="name" />
        <result column="age" property="age" />
        <association property="dept" javaType="Dept">
            <id column="did" property="id" />
            <result column="dname" property="name" />
        </association>
    </resultMap>
JE_GE
JE_GE   2017.01.04 23:17
 public class User {
  private Long id;
  private String name;
  private Integer age;
  private Dept dept;

public class Dept {
  private Long id;
  private String name;
xiangwanpeng
xiangwanpeng 回复Alan_Xiang: User类中是private Integer deptId,这样查出来的详细信息就不能放在一个User对象中了
12 个月之前 回复
xiangwanpeng
xiangwanpeng 对啊 这样的关系是很好解决的,但是我通过mybatis-generator逆向生成的持久化类中是类似这样的关系:
12 个月之前 回复
qq_34565757
qq_34565757   2017.03.19 12:52

楼主,你现在解决了这个问题了吗?我也想让它自动生成一个类中含有其他类型引用的变量,而不是单纯的基本类型变量

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!