mybatis自动生成

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >

<generatorConfiguration>

<!-- 配置属性文件 用来在配置文件中引入变量 El表达式 -->

<!-- 如果是用cmd方式运行 这里应该写url方式写全路径 因为找不到classpath 对于resource来说 -->

<!-- 引入配置文件 -->

<properties resource="jdbc.properties" />

<!-- 指定数据连接驱动jar地址 -->

<classPathEntry location="F:\\maven\\ydhl\\repository\\mysql\\mysql-connector-java\\5.1.27\\mysql-connector-java-5.1.27.jar" />

<!-- 此处指定生成针对MyBatis3的DAO -->

<context id="context1" targetRuntime="MyBatis3"
defaultModelType="conditional">

<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />

<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />

<plugin type="org.mybatis.generator.plugins.CaseInsensitiveLikePlugin" />

<!-- 用来生成注释 1. suppressAllComments 默认是false 此属性用于指定在生成的代码是否将包括任何注释。如果设置为true

则不生成注释 2. suppressDate 默认是false 此属性用于指定在生成的注释是否将包括MBG代时间戳。 -->

<commentGenerator>

<property name="suppressAllComments" value="true" /><!-- 是否取消注释 -->

<property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳 -->

</commentGenerator>

<!-- jdbc连接信息 -->

<!-- jdbcConnection 必须配置 用来连接数据库的 无需解释 -->

<jdbcConnection driverClass="com.mysql.jdbc.Driver"

connectionURL="jdbc:mysql://127.0.0.1:3306/test" userId="test" password="test" />

<!-- java类型解析器 可选配置 -->

<!-- <javaTypeResolver type=""> type属性: 这可用于指定一个用户提供的Java类型解析器。这个类必须实现接口org.mybatis.generator.api。JavaTypeResolver,必须有一个公共的默认构造函数。

属性还可以接受特殊的值默认在这种情况下,将使用默认的实现(这同样的效果不指定类型)。 该标签支持的属性: forceBigDecimals:默认是false

是否强制使用BigDecimal来表示所有的十进制和数值字段。 ?如果规模更大?然后零,或长度大于18,那么不只。将使用BigDecimal类型

?如果其长度为10到18岁,则Java类型解析器将java.lang.Long来代替了。 ?如果长度为5到9,然后Java类型解析器将替换一个Java.lang.integer。

?如果其长度小于5,则Java类型解析器将java.lang.Short替代。 -->

<javaTypeResolver>

<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->

<property name="forceBigDecimals" value="false" />

</javaTypeResolver>

<!-- 生成vo对象 -->

<!-- < javaModelGenerator >元素用于定义Java模型生成的属性。 Java模型生成器建立主键类,记录类,和查询示例类相匹配的表进行自省。这个元素是所需的子元素<上下文>元素。

支持的属性: constructorBased: 此属性用于选择是否MyBatis生成器将生成一个类的构造函数,它接受一个值类中的每个字段。同时,SQL结果地图将建成投入使用构造函数而不是“setter”为每个字段。

这个属性是只适用于MyBatis3和将被忽略了iBATIS2。 这个属性可以被相应的属性在< table >元素。 默认值是false。 immutable:不可变,此属性用于选择是否MyBatis生成器将产生不可变模型类——

这意味着类不会有“setter”方法和构造函数会接受类中每个字段的值。默认为false. trimStrings: 此属性用于选择是否MyBatis生成器添加代码来修剪的白色空间从字符字段从数据库返回的。这可以是很有用的,如果您的数据库将数据存储在字符字段而不是VARCHAR字段。

当真正的,MyBatis生成器将插入代码来削减字符字段。 默认值是false。 -->

<javaModelGenerator targetPackage="com.fjydhl.cjl_framework.model"

targetProject="testMySelf">

<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->

<property name="enableSubPackages" value="false" />

<!-- 是否针对string类型的字段在set的时候进行trim调用 -->

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

</javaModelGenerator>

<!-- 生成mapxml文件 -->

<sqlMapGenerator targetPackage="com.fjydhl.cjl_framework.mapper"

targetProject="testMySelf">

<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->

<property name="enableSubPackages" value="false" />

</sqlMapGenerator>

<!-- 生成DAO的类文件以及配置文件 -->

<!-- < javaClientGenerator >元素是用来定义Java客户机代码生成器的属性。 Java客户机生成器用来建立Java接口和类,以便可以方便地使用生成的Java模型和XML映射文件。

对于iBATIS2目标环境,这些生成的对象采用的形式DAO接口和实现类。 对于MyBatis,生成的对象采用的形式mapper接口。 这个元素是一个可选的子元素<上下文>元素。

如果你不指定这个元素,然后MyBatis生成器(MBG)不会生成Java客户端接口和类。 其中的type属性: 如果targetRuntime 为MyBatis3

XMLMAPPER:生成的对象将Java接口MyBatis 3。x mapper基础设施。接口将会依赖生成的XML映射器文件。一般都是使用这个XMLMAPPER. -->

<!-- 生成mapxml对应client,也就是接口dao -->

<javaClientGenerator targetPackage="com.fjydhl.cjl_framework.mapper"

targetProject="testMySelf" type="XMLMAPPER">

<!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->

<property name="enableSubPackages" value="false" />

</javaClientGenerator>

<!-- <table>元素用于选择数据库中的一个表。选择的表将导致生成以下对象为每个表: ?一个MyBatis / iBATIS?格式化的SQL的映射文件

?一组类,形成了“模型”表包括: ?一个类来匹配?表的主键(如果表有一个主键)。 ?班表中字段匹配的,不是在主键,而非BLOB字段。这个类将扩展主键,如果有一个。

?一个类来持有任何表中的BLOB字段(如果有的话)。这个类将扩展其中一个的前面两个类取决于表的配置。 ?一个类,用于生成动态where子句,在不同的“by

Example”方法(selectByExample,deleteByExample)。 ?(可选)DAO接口和类 tableName:必须配置

指定表的名称 domainObjectName:生成javabean对象的基本名称。如果未指定,MBG将自动基于表名生成。 这个名字(无论是在这里指定,或自动生成)将被用来作为域类名和DAO类的名字。

enableInsert:是否生成插入语句。默认是true enableSelectByPrimaryKey:是否通过主键生成选择语句。不管是否有这种设置,如果该表没有一个主键将不会生成。

enableUpdateByPrimaryKey:是否通过主键生成更新语句。如果该表没有主键,不管是否设置该属性,语句将不会生成。 enableDeleteByPrimaryKey:是否通过主键生成删除语句。如果该表没有主键,不管这种设置该属性,语句将不会生成。

enableDeleteByExample:是否通过example对象生成删除语句。这个声明使得许多不同的动态删除在运行时生成。 enableCountByExample:是否通过example对象生成计算行数语句。该语句将返回一个表中的行数相匹配的example。

enableUpdateByExample:是否通过example对象生成更新语句。该语句将更新一个表中相匹配的记录。 selectByPrimaryKeyQueryId:这个值将被添加到选择列表中选择通过主键的声明在本表格:“‘

<值>作为QUERYID”。这可以用于识别查询在DBA在运行时跟踪工具。如果你使用这样的价值,你应该指定一个唯一的id为每个不同的查询生成MBG。

selectByExampleQueryId:这个值将被添加到选择列表中选择通过例子的声明在本表格:“‘ <值>作为QUERYID”。这可以用于识别查询在DBA在运行时跟踪工具。如果你使用这样的价值,你应该指定一个唯一的id为每个不同的查询生成MBG。

enableSelectByExample:是否应该生成通过example的选择语句。这个声明使得许多不同的动态查询是在运行时生成。 modelType:此属性用于覆盖默认的模型类型,如果你想对这张表这么做。如果未指定,MBG将生成的域对象基于上下文默认的模型类型。

该模型类型定义了如何将生成MBG域类。 一些模型类型MBG将生成一个单一的域类为每个表,和其他可能产生不同的类MBG取决于表的结构。 escapeWildcards:排除通配符。这意味着无论SQL通配符(‘

_ ‘和‘ % ‘)的模式和表名都应该避免在搜寻列。这是一些驱动要求如果模式或表包含一个SQL通配符(例如,如果一个表的名字是MY_TABLE,一些驱动要求的下划线字符进行转义)。 -->

<!-- 配置表信息 -->

<table schema="test" tableName="ydhl_sszl_ba_tbl_valset"

domainObjectName="ValueSet" enableCountByExample="false"

enableDeleteByExample="false" enableSelectByExample="false"

enableUpdateByExample="false">

<!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample

是否生成 example类SELECT SYS_CONTEXT(‘USERENV‘, ‘CURRENT_SCHEMA‘) CURRENT_SCHEMA

FROM DUAL; -->

<!-- 忽略列,不生成bean 字段 <ignoreColumn column="FRED" /> 指定列的java数据类型 <columnOverride

column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /> -->

</table>

</context>

</generatorConfiguration>

时间: 2024-10-27 18:05:29

mybatis自动生成的相关文章

谨慎使用MyBatis自动生成Where语句

最近监控到类似这样一个慢查询: select delete_flag,delete_time from D_OrderInfo WHERE ( OrderId is not null and OrderId = N'xxxx') D_OrderInfo表上有一个OrderId的索引,但OrderId字段是Varchar类型.由于开发框架MyBatis自动生成Where条件不会指定参数类型,字符串类型的参数到了SQLServer里就自动成了NVARCHAR(4000)类型了,坑人的是,不指定参数类

Mybatis 自动生成代码,数据库postgresql

最近做了一个项目,使用Mybatis自动生成代码,下面做一下总结,被以后参考: 一.提前准备: 1.工具类:mybatis-generator-core-1.3.2.jar 2.postgresql驱动:postgresql-9.2-1003-jdbc4.jar 3.xml文件 这些我都上传到了附件上,下载链接:Download 二.XML详解 咱们的核心配置文件:mybatisGeneratorConfig.xml <?xml version="1.0" encoding=&q

Mybatis自动生成的BO对象继承公共父类(BO中过滤掉公共属性)

使用mybatis的代码生成工具:mybatis-generator,如果自动生成的BO都有公共的属性,则可以指定这些BO继承父类(父类中定义公共属性) 1.定义父类 注意:属性public,不要使用private,让子类BO可以直接操作它 2.BO打jar包,并在mybatis-generator-maven-plugin中指定依赖 注意:一定要把依赖的BO先打jar包 1 <plugin> 2 <groupId>org.mybatis.generator</groupId

MyBatis自动生成Dao层

MyBatis自动生成Dao层 MyBatis自动生成Dao层,从数据库的表映射到Java的数据层.包括 Mapper接口的定义,Mapper文件中的sql脚本以及接口中用到的对象 参考地址: http://mybatis.org/generator/running/runningWithMaven.html http://mybatis.org/generator/configreference/xmlconfig.html 新建Maven项目(我的是基于SpringBoot) 1.配置pom

Mybatis自动生成key值

介绍 像MySQL.Sql Server有自动生成主键(递增),Oracle只能用序列生成,或者UUID 那么在MyBatis怎么处理呢,有两个处理方式,那么我们接下来看看怎么处理 编码 useGeneratedKeys useGeneratedKeys (insert and update only) This tells MyBatis to use the JDBC getGeneratedKeys method to retrieve keys generated internally

mybatis自动生成dao, model, mapper xml文件

用mybatis的时候,手写xml或model文件是一个力气活,所以可以用mybatis-gennerator插件自动生成mybatis所需要的dao.bean.mapper xml文件 (原文地址:http://blog.csdn.net/tolcf/article/details/50835165) 附件下载地址:http://files.cnblogs.com/files/cc-robot/generator.rar 把附件解压到本地,我放在d:\web\java目录下了 只需要修改下面x

mybatis自动生成java代码

SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

myBatis自动生成相关代码文件配置(Maven)

pom.xml文件添加配置 <build> <finalName>generator</finalName> <plugins> <!-- maven编译环境指定JDK版本 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <

Mybatis自动生成代码

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码,Mybatis Generator是一个非常好用的工具,使用它可以大大节省开发的时间,并减少代码的编写量. 一.构建一个环境 1. 首先创建一个表: CREATE TABLE t_user ( USER_ID INT NOT NULL AUTO_INCREMENT, USER_NAME CHAR(