MyBatis Generator

MyBatis Generator为一张表自动生成了两个实体类

当数据库表内存在联合主键时,mybatis generator会默认生成两个实体类,一个只包含主键的实体类和一个包含其余字段的实体类,如果表里有BLOB字段,还会为所有BLOB字段生成单独的实体类,可以通过修改默认的defaultModelType属性更改生成方式,该属性支持三种生成方式:
1.conditional,默认是这种方式,当一张表只有一个主键时,不会为主键生成单独的实体类,超过一个则会生成单独的主键实体类,BLOB字段仍单独生成实体类。
2.hierarchical,只要表里有主键,就会生成单独的主键实体类,其余同上
3.flat,只为一张表生成一个实体类,包含所有字段
所以,当你不需要单独的主键实体类时,可以将defaultModelType更改为flat方式
例如,

<context id="DB2Tables"  targetRuntime="MyBatis3" defaultModelType="flat">

</context>



解决mybatis generator生成实体类和数据库字段名不一致

在使用Mybatis generatot 自动生成实体类时,遇到一个问题: 实体类中字段名和数据库中的字段名不一致。

具体问题描述如下:

如: 数据中:client_id , clientName 使用Mybatis generator 反转过来后变成了: clientId(下划线没了), clientname(统一小写)。

解决办法:

在 generatorConfig.xml 配置文件中,<table> 元素下增加 子元素

<property name="useActualColumnNames" value="true"/>

如:

<table tableName="v_user_detail" domainObjectName="VUserDetail"
       enableCountByExample="false" enableUpdateByExample="false"
       enableDeleteByExample="false" enableSelectByExample="false"
       selectByExampleQueryId="false" enableInsert="false"
       enableSelectByPrimaryKey="true" selectByPrimaryKeyQueryId="true">
      <property name="useActualColumnNames" value="true"/>
</table>

 

至此即可解决Mybaits Generator 自动生成实体类和数据库中字段名不一致的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值