(MBG)MyBatis Generator xml配置文件详解(二)

<javaModelGenerator>标签

标签用于定义Java模型生成器的属性,元素用于定义Java模型生成器的属性是用于生成与数据库表相匹配的各种java类。必须包含子标签<context>

<javaModelGenerator targetPackage="test.model"
     targetProject="src/main/java">
  <property name="enableSubPackages" value="true" />
  <property name="trimStrings" value="true" />
</javaModelGenerator>
必须的属性

targetPackage:指定自动生成类文件的包路径,当enableSubPackagesproperty为true时,实际的包路径将是targetPackage + sub packages,MyBatis Generator会根据包名生成对应的文件夹路径。
targetProject:为生成的对象指定一个project,如果你使用的是eclipse,应当指定项目的source folder,当然,也可以指定其他目录,如果目录不存在,MBG不会为你创建。

可选属性

子标签
  • (0..N)
支持的properties

这些属性需要定义在子标签中

  • constructorBased:是否生成构造函数,这个构造函数将包含domain类中的所有字段,同时SQL返回的result map将不通过set方法而是使用这个构造函数来组装对象,默认false。当“immutable”属性设置为true时,此字段被强制为true,此属性会被<table>标签的同名属性覆盖。另,该属性仅对Mybatis3有效。
  • enableSubPackages:默认为false,举个例子,如果我们有张叫“MYTABLE ”的表在名为“MYSCHEMA”的schema中,并且我们设置了“targetPackage ”属性为”com.mycompany”;如果这个属性值设为true,那么为这张表自动生成的类将放置在”com.mycompany.myschema”中;如果false,则会放在”com.mycompany”中;
  • immutable:默认值false,当为true时,自动生成的模型类将不会包含setter方法,而用构造方法来实现初始化赋值的功能;因此也就是immutable不可变的意思;如果为false,那么生成模型的同时会为模型生成一组setter方法,可以通过setter方法修改模型的属性;
  • rootClass 指定一个所有模型类的父类,例如 com.mycompany.MyRootClass,此属性会被<table>标签中的同名属性覆盖;生成器在生成代码时会避免override,即父类中存在属性”aaa”,那么自动生成的对象将不再生成”aaa”属性来覆盖父类,判断是否与父类精确匹配:
    • 属性名称精确匹配
    • 属性拥有同样的类型
    • 父类属性中有getter方法
    • 有setter方法
  • trimStrings:增加为返回的字符型字段值去除空白字符的代码;可以被<table><columnOverride>标签中的同名元素覆盖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值