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?
一年多之前 回复
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对象中了
一年多之前 回复
xiangwanpeng
xiangwanpeng 对啊 这样的关系是很好解决的,但是我通过mybatis-generator逆向生成的持久化类中是类似这样的关系:
一年多之前 回复
qq_34565757
qq_34565757   2017.03.19 12:52

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MyBatis Generator生成代码的几种方式
由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapper映射文件。这样可以省去一部分的功夫,下面将介绍几种生成方式:MyBatis Generator 参考文档:http://blog.csdn.net/isea533/article/details/42102...
mybatis generator生成配置文件
一、使用MyBatis Generator Tool工具生成 1. 下载mybatis-generator-core 地址:http://code.google.com/p/mybatis/ 选择Downloads下的Generator下载   2. generatorConfig.xml配置文件 新建一个空的XML配置文件,名称可以随便取,这里以generatorConfig.xml
mybatis generator生成乱码问题
mybatis generator生成的文件可能会乱码,通过在Eclipse_Home/eclipse.ini文件中,指定 -Dfile.encoding=UTF-8,参考截图 openFile -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -Dfile.encoding=UTF-8
MyBatis Generator生成DAO——序列化
MyBatis Generator生成DAO 的时候是没有序列化的。 还以为要手工添加(开始是手工添加的委屈),今天遇到分页的问题,才发现生产的时候可以添加插件。既然分页可以有插件,序列化是不是也有呢。 果然SerializablePlugin,已经给我们提供好了。 <plugin type="org.mybatis.generator.plugins.SerializablePlugin" /> 马上高端大气了起来。每个model对象都乖乖的带上了Serializable接口。 无奈只有model对象
MyBatis Generator——命令行生成代码
资源链接 命令行生成代码 generatorxml generatorxml源码 generatorxml使用需要修改的地点 代码生成指令 资源链接 官网地址: MyBatis Generator 命令行生成代码文档地址: MyBatis Generator From a Command Prompt 测试代码地址: mybatis-generator-
mybatis生成代码工具generator
mybatis生成代码工具generator
MyBatis Generator生成代码的四种方式
由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapper映射文件。这样可以省去一部分的功夫,将生成的代码copy到项目工程中即可。 参考文档http://mybatis.org/generator 中文译版 http://generator.sturgeo
MyBatis Generator系列(八)----MyBatis Generator自定义插件实现自定义Mapper
一、创建基类 有时候会通过创建实体的基类,用来复用一些代码,然后让其他的实体类集成这个类: package com.fendo.bean; /** * @Title: BaseModel.java * @Package com.fendo.bean * @Description: 实体基类 * @author fendo * @date 2017年12月2日 下午5
MyBatis Generator关于注释的生成
mybatis Generator生成代码的时候在Mapper和mapper.xml文件中生成的一大堆注解。mybatis generator是提供了配置注解的能力,在generatorConfig.xml中加上配置: suppressDate是去掉生成日期那行注释; suppressAllComments是去掉所有的注解; comme
IDEA中实现mybatis generator生成
mybatis generator使用