mybatis反向生成实体类、dao层以及映射文件

简介: mybatis反向生成实体类、dao层以及映射文件

   

 

 

 

        在做项目的时候,我们不得不写底层的一些繁琐代码,比如说实体类、dao层之类的,既浪费时间又费事,最主要的是还没效率,kuangkuangkuang的写半天终于写完了,到运行的时候dao层的代码居然还报错!!这要闹哪样啊,Hibernate就给咱们提供了反向快速生成实体类以及映射文件和配置文件,程序员大部门的时间都放在了项目的业务上,这样更能高效率的开发!Hibernate的反向生成的具体我在这里也就不多说了,网上太多太多了,请大家自行查找,当然既然有反向那就有正向,于是,在不久的之前我写了一片博文就是关于hibernate正向生成数据库的全过程:

    Hibernate多对多、正向工程创建数据表——访问温馨提示            欢迎大家进去交流学习!

     nice,咱们现在不如正题,今天我们不说hibernate,也不讲Java,咱们具体讲一下Oracle+mybatis的反向生成,大家请往下看:

      既然是反向生成,那么肯定不能少数据表,那现在就在oracle里面创建一个数据表:

 

create table dept (  
        deptno number(11),  
        dname varchar2 (150),  
        loc varchar2 (150)  
    );

创建完成,插入几条测试数据:

 

 

 

 

insert into DEPT (DEPTNO, DNAME, LOC)  
    values (90, '开发部1', '山西吕梁');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (12, 'myName', 'myLocation');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (91, '开发部2', '山西吕梁');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (72, 'bdqn', 'jinan');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (70, 'bdqn', 'jinan');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (10, 'ACCOUNTING', 'NEW YORK');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (20, 'RESEARCH', 'DALLAS');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (30, 'SALES', 'CHICAGO');   
    commit();

插入完成!!!


现在数据表已经准备好了,就可以开始生成了!


1.先在E盘下面新建一个文件夹(其他盘也可以,没规定)



2.在完成1的前提下,请大家再去别的地方搞一个oracle的jar包和mybatis-generator-core-1.3.2.jar的jar包放在这个目录下面(放在根目录下面)


mybatis-generator-core-1.3.2.jar下载地址:这里



3.继续在这个刚刚创建的文件夹里面新建一个名为src的文件夹



4.接下来大家在新建一个.xml的文件,名字是generatorConfig.xml(名字尽量和我的一样)



5.接着我们写这个.xml文件里面的内容:

 

 

 

    (1)头部自然不能少也不能错

 

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

  (2)头部有了咱们就开始配置

 

 

 

       先写根节点:<generatorConfiguration>    </generatorConfiguration>  

  (3)有了根节点之后我们下面配置数据库(以oracle数据库为例):

 

<!-- oracle的jar包文件路径 -->
    <classPathEntry  location="ojdbc6.jar"/>  
    <context id="DB2Tables"  targetRuntime="MyBatis3">  
        <commentGenerator>
      <!-- 是否取消注释 -->
            <property name="suppressDate" value="true"/>  
            <!-- 是否生成注释代时间戳-->
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
<!-- 链接配置 --> 
        <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl" userId="pro" password="pro">  
        </jdbcConnection>

     注意:上面的这一段一定要放在<generatorConfiguration>   节点里面

   (4)继续配置类型之间的转换:

 

<javaTypeResolver>
      <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>

    (5)配置生成的实体类,含包名、路径,cn.bdqn.mybatis 这个路径可以自动生成,但是你得要有必须有src这个路径,没有的话创建一个

 

 

<javaModelGenerator targetPackage="cn.bdqn.mybatis" targetProject="src">
      <!-- 是否在当前路径下新加一层schema,eg:fase路径cn.bdqn.mybatis, true:cn.bdqn.mybatis.[schemaName] -->
            <property name="enableSubPackages" value="true"/>
      <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
            <property name="trimStrings" value="false"/>  
        </javaModelGenerator>

    (6)生成xml文件的路径,这个路径可以自动生成,但是必须有src这个路径(没有的话创建一个)

 

 

<sqlMapGenerator targetPackage="cn.bdqn.mybatis.dao" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>

    (7)生成Dao类的路径,这个路径可以自动生成,但是必须有src这个路径(没有的话创建一个)

 

 

 

 

<javaClientGenerator type="XMLMAPPER" targetPackage="cn.bdqn.mybatis.dao" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>

     (8)生成对应表及类名,你想生成几个咱就给你生成几个,听你的,前提是你得先告诉计算机你要生成几个!

 

 

 

 

table tableName="dept" domainObjectName="Dept" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

    其中:tableName:表名

 

 

 

               domainObjectName:实体类名

     (9)结束掉,配置就OK了

     </context>

</generatorConfiguration>

    (10)配置是配置好了,怎么运行呢?两种:

                 第一:打开dos命令,定位到:e:mybatis目录下面之后,执行java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite     输入之后回车

                    第二:在你的当前目录下(不是src目录下),创建;一个.bat文件,里面内容是cmd.exe,运行这个.bat文件之后你会发现她自动打开了cmd,并且自动定位到了当期目录下面了,然后你输入:java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite  按下回车,出现:

           

   就证明,骚年,你成功了!

    否则,出现:

      证明你出错了,缺少mybatis-generator-core-1.3.2.jar文件,请下载放在当前目录下面

 

      喜欢的点个赞,不喜欢的勿喷!评论区大神们评论区多多指教,咱们评论区见!!


相关文章
|
2月前
|
SQL Java 数据库连接
MyBatis 的映射关系
MyBatis 核心功能之一是映射关系,支持一对一、一对多和多对多三种 ORM 映射。通过实体类与配置文件结合,开发者可灵活实现数据关联,提升数据库操作效率。
237 4
|
8月前
|
SQL Java 数据库连接
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
|
6月前
|
SQL XML Java
菜鸟之路Day35一一Mybatis之XML映射与动态SQL
本文介绍了MyBatis框架中XML映射与动态SQL的使用方法,作者通过实例详细解析了XML映射文件的配置规范,包括namespace、id和resultType的设置。文章还对比了注解与XML映射的优缺点,强调复杂SQL更适合XML方式。在动态SQL部分,重点讲解了`&lt;if&gt;`、`&lt;where&gt;`、`&lt;set&gt;`、`&lt;foreach&gt;`等标签的应用场景,如条件查询、动态更新和批量删除,并通过代码示例展示了其灵活性与实用性。最后,通过`&lt;sql&gt;`和`&lt;include&gt;`实现代码复用,优化维护效率。
544 5
|
8月前
|
SQL Java 数据库连接
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
|
8月前
|
SQL XML Java
七、MyBatis自定义映射resultMap
七、MyBatis自定义映射resultMap
227 6
|
8月前
|
Java 数据库连接 mybatis
MyBatis篇-映射关系(1-1 1-n n-n)
本文介绍了MyBatis中四种常见关系映射的配置方法,包括一对一、一对多、多对一和多对多。**一对一**通过`resultMap`实现属性与字段的映射;**一对多**以用户-角色为例,使用`&lt;collection&gt;`标签关联集合数据;**多对一**以作者-博客为例,利用`&lt;association&gt;`实现关联;**多对多**则通过引入第三方类(如UserForDept)分别在User和Dept类中添加集合属性,并配置对应的`&lt;collection&gt;`标签完成映射。这些方法解决了复杂数据关系的处理问题,提升了开发效率。
|
11月前
|
XML Java 数据库连接
Mybatis映射关系
简介:本文介绍了MyBatis框架中四种常见的关系映射方式,包括一对一、一对多、多对一及多对多。一对一通过简单属性映射实现;一对多通过在主对象中添加集合属性并使用`&lt;collection&gt;`标签映射子对象集合;多对一则利用`&lt;association&gt;`标签在主对象中映射单个子对象;多对多需引入第三方类,分别在两个主对象中添加对方的集合属性,并通过`&lt;collection&gt;`标签实现映射。
215 32
|
5月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
938 1
Spring boot 使用mybatis generator 自动生成代码插件
|
8月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
667 0
|
10月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
441 2