• 逆向工程


     什么是逆向工程:

            mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂的业务逻辑上。

            企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。

            之所以强调单表两个字,是因为Mybatis逆向工程生成的Mapper所进行的操作都是针对单表的,也许你可能会觉得那这就有点鸡肋了,但是在大型项目中,很少有复杂的多表关联查询,所以作用还是很大的。

    下载逆向工程:

     

    来自官网~

    翻译过来就是:

    • 从带有XML配置的命令提示符
    • 作为具有XML配置的Ant任务
    • 作为一个Maven插件
    • 从另一个java程序,基于XML配置
    • 从另一个java程序,基于java的配置
    • 通过Eclipse插件

    一般来说,我们会选择使用一个Java程序,基于XML配置来生成代码,下面来介绍具体操作。

    这里是我的一个配置文件,还有jar包。
     
     

    一般要修改的内容!!!

    • 数据库驱动、地址、用户名、密码
    • POJO类、mapper接口、mapper映射文件生成的位置
    • 指定数据表
    这个是我 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>
    <context id="testTables" targetRuntime="MyBatis3">
    <commentGenerator>
    <!-- 是否去除自动生成的注释 true:是 : false:否 -->
    <property name="suppressAllComments" value="true" />
    </commentGenerator>
    <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
    connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
    password="1111">
    </jdbcConnection>


    <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL
    和 NUMERIC 类型解析为java.math.BigDecimal -->
    <javaTypeResolver>
    <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

    <!-- targetProject:生成PO类的位置 -->
    <javaModelGenerator targetPackage="com.juzhen.PO"
    targetProject="./src">
    <!-- 从数据库返回的值被清理前后的空格 -->
    <property name="trimStrings" value="true" />
    </javaModelGenerator>


    <!-- targetProject:mapper映射文件生成的位置 -->
    <sqlMapGenerator targetPackage="com.juzhen.Mapper"
    targetProject="./src">
    </sqlMapGenerator>

    <!-- targetPackage:mapper接口生成的位置 -->
    <javaClientGenerator type="XMLMAPPER"
    targetPackage="com.juzhen.Mapper" targetProject="./src">
    <!-- enableSubPackages:是否让schema作为包的后缀 -->
    <property name="enableSubPackages" value="false" />
    </javaClientGenerator>

    <!-- 指定数据库表 -->
    <table tableName="items"></table>
    <table tableName="orders"></table>
    <table tableName="orderdetail"></table>
    <table tableName="user"></table>

    </context>
    </generatorConfiguration>



    配置完之后,在主函数中加上这些代码,有异常上抛就完事了~

    然后,把生成的Mapper,PO文件,复制到你需要的工程中。就可以用了~

    我们会发现生成的方法中,有Example这样的单词,我们可以饮用包装类来实现我们想要的查询功能。

    如果没有能满足你的语句,自己添加也是可以的!

  • 相关阅读:
    javascript 笔记
    小程序组件 Vant Weapp 安装
    vue学习笔记——脚手架安装
    [二分] [计算几何] AtCoder Beginner Contest 144 D Water Bottle
    [单调队列][前缀和][滑窗][Codeforces] Round #594 (Div. 2) D1 The World Is Just a Programming Task
    [Codeforces] 592 div2 A B D E
    [Codeforces] Round #595 (Div. 3) A B1 B2 C1 C2 D1 D2 E
    [Codeforces] Global Round 5 A C1 C2 D
    [主席树单点更新区间极值动态开点][最长上升子序列] CodeForces 474 F. Pathwalks
    [思维]挖矿
  • 原文地址:https://www.cnblogs.com/buwang/p/9958646.html
Copyright © 2020-2023  润新知