Java的MyBatis框架中MyBatis Generator代码生成器的用法

yizhihongxing

下面是Java的MyBatis框架中MyBatis Generator代码生成器的用法的完整攻略。

什么是MyBatis Generator?

MyBatis Generator是一个可以基于MyBatis框架自动生成Java持久层代码的工具,可以快速地创建对数据库表的增、删、改、查的操作类、POJO类及其映射映射文件等,简化了持久层代码的编写工作。

MyBatis Generator的使用步骤

1. 安装MyBatis Generator

MyBatis Generator是一个支持命令行和Eclipse插件的工具,它可以通过Maven或在Mybatis官网上手动下载。

下载完压缩包后进行解压,进入解压后的文件夹,即可看到如下两个文件:

├── lib
├── mybatis-generator-core-1.4.0.jar
└── mybatis-generator-core-1.4.0.pom

2. 创建配置文件

在使用MyBatis Generator之前,需要创建一个MyBatis Generator的配置文件,用于指定一些参数。

配置文件的格式为xml,部分参数说明:

  • jdbcConnection: 数据库链接参数配置,需要配置driverClass、connectionURL、userId、password 4个属性。
  • targetPackage: Java文件输出目录的包名,值为Java的包名格式,例如com.example.dao。
  • targetProject: Java文件输出目录,可以是相对路径,也可以是绝对路径。注意,建议使用相对路径,这样便于管理项目代码。

下面是一个配置文件的例子:

<?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="DbTable" targetRuntime="MyBatis3">
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
        connectionURL="jdbc:mysql://localhost:3306/demo"
        userId="root"
        password="123456"/>

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

    <!-- 配置生成的mapping.xml的包和位置 -->
    <sqlMapGenerator targetPackage="com.example.dao.mapper"  targetProject="src/main/resources">
        <property name="enableSubPackages" value="true"/>
    </sqlMapGenerator>

    <!-- 配置生成的Dao接口的包和位置 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.dao.mapper"  targetProject="src/main/java">
        <property name="enableSubPackages" value="true"/>
    </javaClientGenerator>

    <!-- 配置生成的表名和类名的映射信息 -->
    <table tableName="user" domainObjectName="User" />

  </context>
</generatorConfiguration>

3. 运行MyBatis Generator

在创建好配置文件后,我们就可以运行MyBatis Generator来生成Java POJO类和相关的映射文件了。

运行方式一:使用maven插件:

mvn mybatis-generator:generate

运行方式二:使用java运行jar包:

java -jar mybatis-generator-core-1.4.0.jar -configfile generator.xml

4. 查看生成的文件

运行完成后,我们可以在配置文件targetProject指定的目录下看到生成的Java POJO类和对应的映射文件以及对应的Dao接口文件等。

例如,针对上述配置文件中生成User相关的文件的输出路径是:demo\src\main\java\com\example\dao\po\User.java、demo\src\main\resources\com\example\dao\mapper\UserMapper.xml 和 demo\src\main\java\com\example\dao\mapper\UserMapper.java。

MyBatis Generator 示例

下面我们用一个实际的例子来讲解MyBatis Generator的使用。

示例1:单个表的生成

假设我们有一个数据库demo,其中包含一个名为user的表,我们希望自动生成User.java和对应的映射文件UserMapper.xml及Dao接口UserMapper.java。

  1. 首先,我们需要在demo目录下创建一个名为generatorConfig.xml的配置文件,具体内容可以参考上述配置文件的例子。

  2. 然后在命令行中进入到该目录,运行以下命令:

java -jar mybatis-generator-core-1.4.0.jar -configfile generatorConfig.xml -overwrite

这个命令会自动生成User.java和相关的映射文件及Dao接口文件。

示例2:多个表的生成

若我们需要生成多个表的代码,只需要在配置文件中添加多个table元素即可,例如:

  <context id="DbTable" targetRuntime="MyBatis3">
    <!-- 配置数据库链接参数 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
        connectionURL="jdbc:mysql://localhost:3306/demo"
        userId="root"
        password="123456"/>

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

    <!-- 配置生成的mapping.xml的包和位置 -->
    <sqlMapGenerator targetPackage="com.example.dao.mapper"  targetProject="src/main/resources">
        <property name="enableSubPackages" value="true"/>
    </sqlMapGenerator>

    <!-- 配置生成的Dao接口的包和位置 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.dao.mapper"  targetProject="src/main/java">
        <property name="enableSubPackages" value="true"/>
    </javaClientGenerator>

    <!-- 配置生成的表名和类名的映射信息 -->
    <table tableName="user" domainObjectName="User" />
    <table tableName="order" domainObjectName="Order" />

  </context>

注意,运行时需要将 -overwrite 参数添加到命令中,以覆盖已有的文件。

java -jar mybatis-generator-core-1.4.0.jar -configfile generatorConfig.xml -overwrite

以上就是MyBatis Generator使用的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java的MyBatis框架中MyBatis Generator代码生成器的用法 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • mysql日期处理函数实例解析

    MySQL日期处理函数实例解析 什么是MySQL日期处理函数 MySQL 提供了许多针对日期和时间的内置函数,这些函数可以用于解析、格式化、以及比较日期和时间等操作。在操作MySQL中的日期与时间时,经常会用到这些内置函数。这里就详细介绍MySQL日期处理函数。 MySQL日期处理函数常用语法 MySQL日期处理函数的基本语法如下: 函数名(日期值或日期列)…

    database 2023年5月22日
    00
  • Sql Server 2008完全卸载方法(其他版本类似)第1/2页

    Sql Server 2008完全卸载方法(其他版本类似) 介绍 在卸载Sql Server 2008之前,需要确保已备份好相关数据库,并且注意到卸载过程可能会涉及到其他应用程序的影响。 卸载方法 第1步:使用控制面板卸载程序 在控制面板中,点击“程序和功能”,找到“Sql Server 2008”,右键选择“卸载/更改”,按照提示完成卸载过程。 第2步:手…

    database 2023年5月22日
    00
  • mysql 一表字段逗号分隔对应另一表字段查询

    表一:login id cids state 1 1,2 1 表二:learn id name 1 zhangsan 2 lisi 3 wangwu   select g.id, GROUP_CONCAT(s.name) as sname from login g left join tlearn s on FIND_IN_SET(s.id, g.cids)…

    MySQL 2023年4月12日
    00
  • SQL 生成连续的数值

    生成连续的数值,实际上就是生成一系列数字的序列。在SQL中,我们可以用以下两种方式生成一系列数字: 1. 使用MySQL中的sequence MySQL中并没有sequence这个东西,但可以通过存储过程的方式手动实现。下面是一个生成1~100连续数字的例子: DELIMITER // CREATE PROCEDURE GenerateSequence(IN…

    database 2023年3月27日
    00
  • SQLSERVER中忽略索引提示

    SQL Server 中的查询优化器会根据自身的统计信息和数据库的数据分布情况来选择最优的执行计划。有些时候,我们可能会手动指定使用某个索引。但是,有些情况下,我们并不希望使用索引,而是让查询优化器自动选择执行计划。本文将详细介绍如何在 SQL Server 中忽略索引提示。 什么是索引提示 SQL Server 中的索引提示是一种查询提示,通过在 SQL …

    database 2023年5月21日
    00
  • 非常不错的SQL语句学习手册实例版第1/3页

    下面开始讲解“非常不错的SQL语句学习手册实例版第1/3页”的完整攻略。 1.查看手册 首先,我们需要进入“非常不错的SQL语句学习手册实例版第1/3页”的网页,并对手册进行查看。在手册中,我们可以了解到这个SQL学习手册的基本介绍,包括作者、出版时间、学习目标、适用对象等等。 2.学习基础知识 在手册的第一部分,我们可以找到SQL语句的基础知识,包括SQL…

    database 2023年5月21日
    00
  • Sql在单一表中检索数据的方法详解

    Sql在单一表中检索数据的方法详解 为了在单一表中检索数据,我们可以使用Sql提供的一些查询方法。下面将详细介绍这些方法。 1. SELECT语句 SELECT语句是Sql中最常用的语句之一,用于从一个表格中选择一些列并返回其值。下面是一个SELECT语句的示例: SELECT column_name1, column_name2, … FROM table…

    database 2023年5月22日
    00
  • php在linux环境中如何使用redis详解

    PHP在Linux环境中如何使用Redis 1. 安装Redis扩展 在Linux环境下启用Redis扩展需要使用PECL来安装。假设你已经安装了PHP和Redis服务器,请按照以下步骤: 安装PECL和PHP开发包 sudo apt-get install php-pear php-dev 安装Redis扩展 sudo pecl install redis…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部