使用Mybatis-Generator的三种常用方式
2017-05-07 22:59
369 查看
Mybatis-Generator介绍
MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码。 他可以通过数据库的表(或多个表)生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互时不需要创建对象和配置文件。 MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。 不过仍然需要对联合查询和存储过程手写SQL和对象。详细文档请查看http://www.mybatis.org/generator/(英文)
http://mbg.cndocs.tk/(中文)
接下来介绍如何使用该工具:
方式一:使用java配置(推荐)
优势:不依赖于开发工具
步骤一:添加依赖包
pom.xml
<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency>
或者自行下载jar包,地址:https://github.com/mybatis/generator/releases/tag/mybatis-generator-1.3.5
步骤二:建立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> <!-- 数据库驱动jar包 --> <classPathEntry location="D:/repository/mysql/mysql-connector-java/5.1.25/mysql-connector-java-5.1.25.jar" /> <context id="DBTables" targetRuntime="MyBatis3"> <!-- jdbc连接配置 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/shopping?characterEncoding=utf8" userId="root" password="123456"> </jdbcConnection> <!-- false: JDBC DECIMAL 和 NUMERIC 类型解析为 Integer(默认) true: JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- targePackage 指定生成的PO类所在的包 targetProject 指定包所在的项目路径(项目名/src/main/java或者./src/main/java)根据实际效果选择 --> <javaModelGenerator targetPackage="com.mybatis.po" targetProject="./src/main/java"> <!-- 是否使用子包 ,即schema(表空间)作为包名后缀--> <property name="enableSubPackages" value="false" /> <!-- 意味着任何字符串属性的setter方法将调用trim方法,去除空白符--> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- targetPackage 指定生成的XML配置文件所在包 --> <sqlMapGenerator targetPackage="com.mybatis.mapper" targetProject="./src/main/java"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- targetPackage 指定生成的mapper接口所在包 --> <javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject=""./src/main/java""> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 指定数据库表 此处还有很多自定义配置,根据个人需求进行设置即可 --> <table tableName="user"></table> <table tableName="order"></table> <table tableName="detail"></table> <table tableName="item"></table> <!-- <table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" > <property name="useActualColumnNames" value="true"/> <generatedKey column="ID" sqlStatement="DB2" identity="true" /> <columnOverride column="DATE_FIELD" property="startDate" /> <ignoreColumn column="FRED" /> <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /> </table> --> </context> </generatorConfiguration>
步骤三:运行java代码
import java.io.File; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; public class Generator { public static void main(String[] args) throws Exception{ List<String> warnings = new ArrayList<String>(); boolean overwrite = false; //指定逆向工程配置文件 File configFile = new File("generatorConfig.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } }
结束!
方式二:使用Eclipse插件
步骤一:下载插件http://download.csdn.net/download/baalhuo/9526993复制相应文件到Eclipse相应目录下,重启Eclipse
步骤二:右键项目New–>Other
步骤二:新建xml文档(内容同上)
步骤三:右键generatorConfig.xml 选择 Generate Mybatis/ibatis Artifacts即可完成!
注意注意:如果出现下列情况:
1:Cannot resolve classpath entry: C:…\5.1.25\mysql-connector-java-5.1.25.jar
解决:检查数据库驱动包路径是否正确,相对路径不管用就使用绝对路径
2:
这种情况通常是由于targetProject路径设置有误造成的。
解决:使用
./src/main/java或者
项目名称/src/main/java
3:java代码运行后没有报错,也没有生成代码
解决:检查targetPackage或者targetProject
方式三:使用Maven 插件
MyBatis Generator (MBG) 包含了一个可以集成到Maven构建的Maven插件,按照Maven的配置惯例, 将MBG集成到Maven很容易. 最简配置如下:
<project ...> ... <build> ... <plugins> ... <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.0</version> </plugin> ... </plugins> ... </build> ... </project>
可以在命令行通过以下命令执行:
mvn mybatis-generator:generate
您可以通过标准的Maven命令属性传递参数, 例如:
mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate
这条命令会使MBG覆盖重名的文件
其他配置信息或者配置方式请查看官方文档。http://www.mybatis.org/generator
相关文章推荐
- @Param 注解在Mybatis中的使用 以及传递参数的三种方式
- 数据控使用Hadoop的三种常用方式
- @Param 注解在Mybatis中的使用 以及传递参数的三种方式
- 数据控使用Hadoop的三种常用方式
- redis 存取键值对常用的三种使用方式 - Jedis、JedisPool、Jedis分布式
- Mybatis的基本使用与企业常用MyBatis开发Dao方式
- @Param 注解在Mybatis中的使用 以及传递参数的三种方式
- @Param 注解在Mybatis中的使用 以及传递参数的三种方式
- IDEA2017使用Maven方式配置Mybatis-Generator
- 使用C#创建webservice及三种调用方式 (ASP.NETweb编程常用到的27个函数集)
- 【记录】mybatis-generator如何使用(maven方式)
- mybatis generatorConfig.xml生成配置文件及三种运行方式
- 使用 Hadoop 分析数据的三种最常用方式
- mybatis一对一的三种实现方式 数据准备: 使用mysql数据库作为测试。建表语句及测试数据: CREATE TABLE `classes` ( `class_id` int(11) NOT
- mybatis-generator 代码自动生成工具使用讲解(maven方式)
- @Param注解在Mybatis中的使用 以及传递参数的三种方式
- 使用Mybatis-Generator命令提示符方式自动生成Dao、Model、Mapping相关文件
- 详解angularJs中关于ng-class的三种使用方式说明
- CSS的引入方式最常用的有三种