代码生成器(MyBatis Generator )

本文介绍了MyBatis Generator的使用,它能根据数据库表自动生成Java类和XML配置,简化开发工作。同时提到了分页插件PageHelper的使用,包括其官网链接、下载依赖和配置说明。

代码生成器

简介:
MyBatis Generator (MBG) 是一个Mybatis的代码生成器,它可以帮助我们根据数据库中表的设计生成对应的实体类xml Mapper文件,接口以及帮助类(也就是我们可以借助该类来进行简单的CRUD操作),这样就避免了我们每使用到一张表的数据就需要手动去创建对应的类和xml文件,这就帮我们节约了大量的时间去开发和业务逻辑有关的功能,但是如果对联合查询和存储过程您仍然需要手写SQL和对象。下面我主要介绍基于Maven和普通的Java工程两种方式来生成相应的文件。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

官网:http://mybatis.org/generator/

以maven插件为例:
下载依赖:

<plugin>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-maven-plugin</artifactId>
          <version>1.4.0</version>
</plugin>

参见资料中 《mybatis-generator-示例工程》

pom.xml

//外部插件配置
    <build>
        <plugins>
            <!--代码生成器-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.0</version>
                <!--编译时自动生成代码,不配置可以点击右边插件的myBatis-generator-->
                <executions>
                    <execution>
                        <id>Generate MyBatis Artifacts</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <!--添加插件用到的外部依赖 插件要连接数据库 生成代码-->
                <dependencies>
                    <!--数据库驱动-->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.47</version>
                    </dependency>
                    <!--core-->
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.4.0</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

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="DB2Tables" targetRuntime="MyBatis3">
        <!--数据库连接配置-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql:///fresh_store?useUnicode=true&amp;
                        characterEncoding=UTF-8"
                        userId="root"
                        password="root">
        </jdbcConnection>

        <!--防止数据类型转换-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--配置实体类的生成-->
        <javaModelGenerator targetPackage="com.example.domain" targetProject="src/main/java">
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--生成mapper配置文件-->
        <sqlMapGenerator targetPackage="mappers" targetProject="src/main/resources"></sqlMapGenerator>

        <!--配置mapper接口的生成-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
        </javaClientGenerator>

        <!--配置具体表的生成-->
        <table tableName="goods_sort" domainObjectName="GoodSort">
            <!--配置类生成时驼峰命名-->
            <property name="useActualColumnNames" value="false"></property>
            <!--数据库主键-->

            <generatedKey column="id" sqlStatement="mysql" identity="true"/>
        </table>
    </context>
</generatorConfiguration

分页插件

官网: https://github.com/pagehelper/Mybatis-PageHelper

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.2.0</version>
</dependency>

使用手册: https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md

 <!--整合MyBatis的关键-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!--configLocation 用于指定全局配置文件 (一般这里里面的配置是通过直接在这个bean上面来注入) -->
        <property name="configLocation" value="classpath:mybaits-config.xml"/>

        <!--mapper映射配置文件的位置: 可以利用Spring的资源表示法(通配符)-->
        <property name="mapperLocations" value="classpath:mappers/*Mapper.xml"/>

        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
                    <property name="properties">
                        <value>
                            helperDialect=mysql
                            reasonable=true
                            supportMethodsArguments=true
                            params=count=countSql
                            autoRuntimeDialect=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>
---------------------------软件概述:---------------------------------- 这款软件主要用来保管程序员的常用代码,并可以根据自己的需要 将常用代码建立为模板,生成代码。还可根据设计描述,自动选择 代码模板,生成代码的功能。省去每次拷贝代码,编辑,调试所花 的时间。通过大家共享模板更可以使开发变得简易,高效。同时可 联网使用,方便大家资源共享,互相学习。 ---------------------------名词说明:---------------------------------- 框架代码:可以生成一个完整的流程框架,例如CFG脚本代码中的 自 动任 务,WKE查询等。 功能代码:可以生成实现某一种特定功能的片段模板,例如查询到 BUF, 就是查询某个表中的字段,存放在buffer中,可以在框架代码模板 中 插入 功能代码模板,根据设计描述模糊匹配功能代码,实现代码生成的 半 自动 化。 参数:模板中的参数是需要用实际的字符来替换的,缺省是 $PARA1 ,。 。。 实例化:就是根据模板代码,填写实际代码所要填写的内容,替换掉 模板中 的参数,从而生成可以编译通过并使用的代码的过程。 ---------------------------使用步骤:----------------------------------- 1.配置:主要配置编辑器,缺省配置为Uedit32.exe,其他参数不用修 改。 2.建立模板,要求框架代码是一段完整的程序,有变量定义,函数 名 ,起 始结束符,生成的代码. 3.生成片段代码:由一个模板进行实例化,其中实例化的信息可以 自 己在 文本中编辑,编辑后导入,点击"生成代码"即生成所需的代码。 4.组合代码生成:选择一个框架代码,然后编辑设计描述,导入设 计 描述 ,软件描述的关键字模糊匹配功能代码,分别填写功能代码和框架 代 码的 实例化 信息后,点击"生成代码"即可生成所需的代码。 5.可联网或在本地使用,联网方便使用者资源共享,如果想在本地 使用, 只要将服务器的codedb.mdb拷贝到本地覆盖本地文件即可。 ---------------------------意见建议:----------------------------------- 代码生成器1.0 你对本软件有何问题或建议的话, 请留言 感谢您的使用!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值