精华内容
下载资源
问答
  • Mybatis 生成Oracle 数据库代码生成器 很久以前,我写过一个 mybatis mysql 版本的java 代码生成器,可以生成相应的mapper文件, 接口文件,实体类等代码。但是那个mysql 版本的尽管替换为oracle 的jar 包之后,还是...

    Mybatis 生成Oracle 数据库代码生成器

    很久以前,我写过一个 mybatis mysql 版本的java 代码生成器,可以生成相应的mapper文件, 接口文件,实体类等代码。但是那个mysql 版本的尽管替换为oracle 的jar 包之后,还是不能用。恰好现在的项目又要用到oracle 数据库,于是就看了下,修改了一个oracle 版本的提供下载

    在这里插入图片描述

    基本用户还是与mysql 版本的mybatis 生成器没多大差别,我特地为oracle 单独增加了一个配置文件,还有执行方法
    配置文件:

    <!--?xml version="1.0" encoding="UTF-8"?-->
    <generatorconfiguration>
      <!-- classPathEntry:数据库的JDBC驱动的jar包地址-->
     <classpathentry location=""D:\oracle\instantclient_11_2\ojdbc6.jar"">
    <context id=""ORACLE_TABLES"" targetruntime=""MyBatis3"">
      
        <commentgenerator>
          <property name=""suppressAllComments"" value=""true"">
          <property name=""suppressDate"" value=""true"">
        </property></property></commentgenerator>
         
      <jdbcconnection driverclass=""oracle.jdbc.driver.OracleDriver"" connectionurl=""jdbc:oracle:thin:@172.16.10.55:1521:orcl"" userid=""shange"" password=""123456"">
      </jdbcconnection>
        <!--  默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer 
             true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal 
         --> 
      <javatyperesolver>
         <property name=""forceBigDecimals"" value=""true"">
      </property></javatyperesolver>
      <!-- targetProject:自动生成代码的位置 -->
      <!-- 这里是 实体类的包. -->
      <javamodelgenerator targetpackage=""com.isprint.server.yessafeid.core.model.bto"" targetproject=""src"">
          <!-- enableSubPackages:是否让schema作为包的后缀 -->     
          <property name=""enableSubPackages"" value=""true"">
        <!-- 从数据库返回的值被清理前后的空格  --> 
          <property name=""trimStrings"" value=""true"">
      </property></property></javamodelgenerator>
      <!-- 这里是放XML 隐射文件的目录 --> 
      <sqlmapgenerator targetpackage=""com.isprint.server.yessafeid.core.dao.mapper.oracle"" targetproject=""src"">
          <property name=""enableSubPackages"" value=""true"">
      </property></sqlmapgenerator>   
     
       <!-- 这里是放接口文件的包名 --> 
      <javaclientgenerator type=""XMLMAPPER"" targetpackage=""com.isprint.server.yessafeid.core.dao"" targetproject=""src"">
        <property name=""enableSubPackages"" value=""true"">
      </property></javaclientgenerator>
      <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
      <table schema="""" tablename=""T_USER"" domainobjectname=""UserBto"" enablecountbyexample=""false"" enableup&#100;atebyexample=""false"" enabledeletebyexample=""false"" enableselectbyexample=""false"" selectbyexamplequeryid=""false"">
      </table>
    </context>
         
    </classpathentry></generatorconfiguration>
    

    执行的java 代码方法:

    import org.mybatis.generator.ant.GeneratorAntTask;
     
    public class GenOracleMain {
        public static void main(String[] args) {
            try {
              GeneratorAntTask task = new GeneratorAntTask();
                  //配置文件的路径。
              String genCfg = "D:/Dev/eclipse/workspace/myBatisGenerator/src/mbgConfigurationoracle.xml";
              task.setConfigfile(genCfg);  //(配置文件具体path)
              task.execute();
            } catch (Exception e) {
              e.printStackTrace();
            }
          }
    }
    

    注意:
    mybatis 代码生成器 生成mysql代码时 schema 需要填写
    mybatis 代码生成器 生成oracle代码时 schema 不需要填写

    <!-- mybatis 代码生成器 生成mysql代码时  schema 需要填写 -->
        <!--<table schema="public" tableName="tb_rule" domainObjectName="TbRule"></table>-->
        <!--<table schema="public" tableName="tb_organ" domainObjectName="TbOrgan"></table>-->
        <!--<table schema="public" tableName="payment" domainObjectName="payment"></table>-->
    
    
        <!-- mybatis 代码生成器 生成oracle代码时  schema 不需要填写  -->
        <table schema="" tableName="tb_report" domainObjectName="TbReport"></table>
    

    参考网址及代码下载地址:
    http://www.yihaomen.com/article/java/589.htm

    展开全文
  • mybatis生成实体类

    千次阅读 2017-12-18 13:25:35
    mybatis生成实体类,接口,配置文件

    文章转自http://www.zuidaima.com/share/2148093791816704.htm

    项目(apptjca)mybatis通过表order生成实体,配置文件,接口,整理如下


    1)配置generatorConfig.xml

    <?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>
      <classPathEntry location="mysql-connector-java-5.1.27.jar" />
    
      <context id="DB2Tables" targetRuntime="MyBatis3">
       <!-- 是否去除自动生成的注释 true:是 : false:否 -->   
    	<commentGenerator>
    		<property name="suppressAllComments" value="true" />
    	</commentGenerator>
    	 <!--数据库链接URL,用户名、密码 -->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/logtest"
            userId="root"
            password="root">
        </jdbcConnection>
    	
        <javaTypeResolver >
          <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
    <!-- 生成模型的包名和位置--> 
        <javaModelGenerator targetPackage="com.logca.entity" targetProject="src">
          <property name="enableSubPackages" value="true" />
          <property name="trimStrings" value="true" />
        </javaModelGenerator>
    
    <!-- 生成映射文件的包名和位置--> 
        <sqlMapGenerator targetPackage="com.logca.mapper"  targetProject="src">
          <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
    <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.logca.dao" targetProject="src">
          <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
     <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--> 
        <table tableName="order" domainObjectName="Order" enableCountByExample="lib" 
    enableUpdateByExample="false" 
    enableDeleteByExample="false" 
    enableSelectByExample="false" 
    selectByExampleQueryId="false"/>
    
      </context>
    </generatorConfiguration>


    2)在lib文件夹下建立src文件,加入下面的包


    3)cmd执行

    1.cd C:\Users\zhmin\workspace\logCA\WebContent\WEB-INF\lib

    2.java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

    4)运行成功后/lib/src文件下生成文件



    展开全文
  • 扩展MyBatis生成器MyBatis Generator(MBG)是为扩展性设计的。使用Java和XML元素的简单DOM表示来执行所有代码生成。Java DOM包含在包org.mybatis.generator.api.dom.java中XML DOM包含在包org.mybatis.generator....

    扩展MyBatis生成器
    MyBatis Generator(MBG)是为扩展性设计的。

    使用Java和XML元素的简单DOM表示来执行所有代码生成。Java DOM包含在包org.mybatis.generator.api.dom.java中XML DOM包含在包org.mybatis.generator.api.dom.xml中这些类对于每种可能的代码生成可能性都不够,但它们对于生成简单到中等复杂的Java和XML代码是非常有用的。使用配置文件中的选项,您可以提供自己的许多关键代码生成接口的实现。您还可以将任何提供的实现子类化以提供自定义行为。该页面将描述可用的公共API,并提供指向源代码的指针以供进一步调查。

    如果您对如何扩展MBG有任何疑问,请随时向mybatis-user@googlegroups.com的支持邮件列表发送备注。
    扩展与插入

    虽然在此页面上显示了许多不同的扩展点,但在大多数情况下,通过使用插件来扩展MBG将会更加容易。有关详细信息,请参阅实施插件参考页面。代码生成的主要扩展点是org.mybatis.generator.api.IntrospectedTable。实现代码生成器是一项不平凡的任务,只有当您想要完全替代MBG的代码生成活动时,才应该考虑这一点。在Abator的原始版本之后的几年里,很少有增强请求出现,无法被插件处理。扩展点
    MBG提供了许多不同的扩展点。以下部分列出了扩展MBG的不同方法,并描述了使用不同扩展可以实现的活动类型。如果您需要帮助了解不同的选项,请随时在用户邮件列表中提出问题。org.mybatis.generator.api.IntrospectedTableIntrospectedTable是一个抽象类,可以扩展为提供与MBG提供的版本不同的代码生成器。这种实现的一个很好的例子是基于FreeMarker或Velocity模板的实现。在大多数其他情况下,编码插件是更好的方法。如果您选择扩展此类,则必须提供代码来生成Java和XML文件。您可以选择使用您选择的技术生成这些文件。基础IntrospectedTable类包含可以查询的org.mybatis.generator.internal.rules.Rules的实例,以确定代码生成的许多规则。MBG提供了几个内省表的实现。该实现是基于<context>元素的targetRuntime属性的值来选择的。在许多情况下,扩展其中一个内置的实现将会更简单,而不是从头创建一个实现。下表显示了内置实现:

    目标运行时实现类
    MyBatis3 (default)org.mybatis.generator.codegen.mybatis3.IntrospectedTableMyBatis3Impl
    Ibatis2Java2org.mybatis.generator.codegen.ibatis2.IntrospectedTableIbatis2Java2Impl
    Ibatis2Java5org.mybatis.generator.codegen.ibatis2.IntrospectedTableIbatis2Java5Impl
    如果您选择实现此扩展点,请使用<context>元素的targetRuntime属性指定实现的完全限定类名。
    org.mybatis.generator.api.IntrospectedColumn
    IntrospectedColumn是一个类,它保存有关从数据库元数据返回的列的信息。在一些罕见的情况下,可能需要重写此类来提供自己的实现 - 特别是如果您创建一组新的代码生成器。如果您选择实现此扩展点,请使用<context>元素的introspectedColumnImpl属性指定实现的完全限定类名。org.mybatis.generator.api.JavaTypeResolver
    MBG调用此接口中的方法,以便在数据库内省期间将JDBC类型映射到Java类型。此接口的默认实现是org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl。您可以提供自己的实现,并且默认实现被设计为可扩展性。要提供自己的实现,请在XML配置中指定完全限定类名,如下所示:
        <javaTypeResolver type="mypackage.MyImplementation">
          ...
        </javaTypeResolver>
    org.mybatis.generator.api.ShellCallback
    MBG调用此接口中的方法来执行它不能独立执行的功能。这些功能中最重要的是:将项目/包转换为目录结构如果存在同名/包的现有Java文件,则合并Java源文件。这个界面的默认实现是org.mybatis.generator.internal.DefaultShellCallback。默认实现只需将项目和包合并在一起,并在需要时创建必需的包目录。默认的实现不支持合并Java文件,并且将覆盖或忽略文件。您可以提供自己的实现。如果您想将MBG集成到其他环境中,这将是写入最重要的类。例如,Eclipse插件提供了在Eclipse环境中运行时支持Java文件合并的此接口的实现。要提供自己的实现,请将构造函数上的接口实例提供给org.mybatis.generator.api.MyBatisGenerator对象。这不能通过XML进行配置。如果您提供自己的这个界面的实现,那么我们假设您还提供一些附加代码(如新的Ant任务)来运行您的实现。org.mybatis.generator.api.ProgressCallback
    MBG调用此接口中的方法来报告文件生成过程中的进度(长时间运行的过程)。这个接口的默认实现是org.mybatis.generator.internal.NullProgressCallback,它只是忽略所有的进度消息。您可以提供此界面的实现来支持进度通知和取消代码生成。将MBG集成到其他IDE环境中时,实现此界面将非常重要。Eclipse插件提供了一个这个接口的实现,它挂接到Eclipse的进度通知系统中。要提供自己的实现,请在org.mybatis.generator.api.MyBatisGenerator.generate()方法调用之一上提供一个接口实例。这不能通过XML进行配置。再次,我们假设如果您提供自己的这个接口的实现,那么您还提供一些附加代码(如新的Ant任务或IDE集成)来运行您的实现。
    原文:Extending MyBatis Generator

    相关阅读:

    MyBatis Generator (MBG) 代码生成器简介

    MyBatis Generator 代码生成器 快速入门指南

    MyBatis Generator XML 配置文件参考

    运行 MyBatis Generator 后的任务

    运行MyBatis Generator

    MyBatis Generator中的新功能

    SSM框架——使用 MyBatis Generator 生成代码,包括:Model、Dao、Mapping

    从源码构建

    实现插件

    日志信息

    提供的插件

    设计哲学与致歉


    展开全文
  • tk.mybatis生成mapper和entity后,把实体类ID进行加密 1.在tk.mybatis包下创建generateUUID类,代码如下,可直接拷贝: 这里是代码 import tk.mybatis.mapper.genid.GenId; import java.util.UUID; public class ...

    tk.mybatis生成mapper和entity后,把实体类ID进行加密

    1.在tk.mybatis包下创建generateUUID类,代码如下,可直接拷贝:

    这里是代码
    import tk.mybatis.mapper.genid.GenId;
    import java.util.UUID;
    public class GenerateUUID implements GenId {
    public String genId(String s, String s1) {
    return UUID.randomUUID().toString().replace("-","");
    }
    }

    在这里插入图片描述
    2.在实体类ID上加

    这里是引用 @KeySql(genId = GenerateUUID.class)

    在这里插入图片描述
    3.ok了。就可以用了

    展开全文
  • mybatis 生成代码配置 mybatis-generator:generate 的使用 使用详解 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=...
  • Mybatis生成实体类联合主键

    千次阅读 2019-01-02 17:10:57
    MyBatis生成实体遇到联合主键时,默认会生成两个实体类 。在 context 标签中加入属性即可只生成一个实体类。 &lt;context id="DB2Tables" targetRuntime="MyBatis3" defaultModelType=&...
  • mybatis生成工具类

    千次阅读 2020-08-19 17:25:59
    大家都知道Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,并且手动书写很容易出错,那么今天来介绍一下使用Mybatis-Generator来帮我们自动生成文件。如果大家有更好实现方式欢迎...
  • 在使用Mybatis生成代码之后出现了问题,所有标识符报错,重新生成也不行 报错提示: Duplicate field DataOfTarget.itemCode 所有的类型的标识符都报错,没出现重复的情况 ![图片说明]...
  • Mybatis生成pojo插件

    2013-08-31 14:37:23
    Mybatis pojo插件生成工具 把包下载下来,配置到eclipse中,project new 可以看到mybatis插件已经安装好
  • mybatis生成Mapper对象注入为空的情况

    千次阅读 2019-12-31 16:26:39
    记一次springboot使用mybatis生成的mapper在类中注入为空的情况。 该情况是使用网上@MapperScan(xxx.xxxx.xxx)后还是注入为空的情况。 情况如下: 情况一、 有A,B两个类; 其中A类中使用注解的方式引入了...
  • MyBatis生成UUID

    万次阅读 2017-11-11 13:19:42
    keyProperty:设置需要自动生成键值的列order:可选值BEFORE和AFTER,设置为BEFORE会先执行selectKey语句,设置keyProperty属性,再执行insert语句;设置为AFTER会先执行insert语句再执行selectKey语句resultType:...
  • 使用mybatis生成UUID

    万次阅读 2018-04-03 17:33:26
    )这个注解自动生成uuid,但是我使用mybatis xml文件的形式写sql语句,@GeneratedValue(generator="UUID")这个注解是hibernate的注解,与mybatis不能兼容,插入语句时一直报错id不能为空。  在网上搜资料...
  • MyBatis Generator对于mysql text类型数据的处理||MyBatis生成的selectByExample方法获取text类型数据得到空值 Mybatis自动生成的Xml文件,text数据类型会默认产生XXWithBlobs的方法,用以获取含有...
  • mybatis生成实体自带注释

    千次阅读 2019-02-25 10:52:45
    mybatis通常自动生成的实体是没有中文注释的,想要生成的实体有中文注释,步骤如下 1、数据库的自字段一定要有注释,如下图 实体中的所有注释是从数据库中的注释而来 2、并创建实体类DefaultCommentGenerator 的...
  • mybatis生成UUID主键,且获取当前新增的UUID主键 在平时业务需求中,有可能会需要当前新增对象的主键ID。 在此我对用UUID作为主键ID做了实验。 1 2 select uuid() 3 keyProperty:selectKey子元素...
  • tk.mybatis生成主键

    2019-11-13 18:23:07
    项目中使用了tk.mybatis,如果有需要在插入数据以后返回主键,使用以下注解(需要数据库主键类型为自增类型) @GeneratedValue(strategy= GenerationType.IDENTITY)
  • Mybatis生成类 UserKey 和 UserWithBlobs

    千次阅读 2019-07-16 11:50:40
    UserKey 和 UserWithBlobs 对于 MySQL 数据库,在生成 User 实体类时,还会同时生成 Userkey 和...在 MySQL 8.0 以上的版本中,在生成 User 表的实体类时,Mybatis Generator 会找到多张 User 表,包括 MySQL inform...
  • Mybatis生成不了mysql update方法

    千次阅读 2018-06-13 16:35:48
    今天用mybatis-generator生成实体、mapper、xml时,死活生成不了update和updateByPrimaryKeySelective最终排查原因为mybatis-generator使用了6.X的mysql驱动,降级为5.X的版本即可...
  • 修改好配置文件,在命令窗口执行txt中命令即可生成mybatis所需三种底层代码
  • 今天在用tk.mybatis插件的时候,查询一个对象用mapper.selectByPrimaryKey(id)方法时出现错误,错误原因是mybatis生成查询语句时对表名和列名没有加` `符号,正巧那张表的列明有一个字段为option,正好是mysql的...
  • 1.相关的jar包Mybatis-...使用官方网站的mapper自动生成工具mybatis-generator-core-1.3.2来生成po类和mapper映射文件。作用:mybatis官方提供逆向工程,可以使用它通过数据库中的表来自动生成Mapper接口和映射文件
  • MyBatis生成GeneratedKeys

    2012-11-27 15:55:34
    生成GeneratedKeys&lt;insert id="add" parameterType="Article" keyProperty="id" useGeneratedKeys="true"&gt;
  • 使用freemarker进行mybatis生成DAO层

    千次阅读 2018-08-12 20:49:26
    使用Generator创建自定义的模版感觉不是很爽,就决定用freemarker去生成DAO和Service组件,这样,只用考虑模版如何写就可以了,好处就是自己可以根据自己的业务定制自己的通用模版 地址:...
  • 使用springMVC+mybatis生成Dao层的xxDao

    千次阅读 2017-03-06 15:09:51
    使用mybatis的Generator自动生成代码的时候,在生成Dao接口时,生成的文件名是xxMapper,那么怎样生成xxDao呢?在刚开始使用的时候确实很苦恼,经过搜索及查询文档, 发现在mybatis1.3.4版本后,可以在元素下加一个...
  • mybatis 生成dao、entity、mapping文件

    千次阅读 2016-02-02 14:23:45
    Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。 相关文件 关于Mybatis-Generator的下载可以...
  • 推荐一款好用的mybatis逆向生成工具(真的很好用) 写在前面 有时候写实体bean 和xml 文件会觉得浪费时间也比较繁琐! 如果数据库表字段较多就比较卧槽了(哈哈),mybatis自带的有一个逆向生成的maven方法,这里我给...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,920
精华内容 12,368
关键字:

mybatis生成