七,利用MyBatis Generator进行逆向工程
来源:互联网 发布:js uint8array string 编辑:程序博客网 时间:2024/05/11 05:52
1,MyBatis Generator简介
MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码。 他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互时不需要创建对象和配置文件。 MBG的解决了对数据库操作有最大影响的一些简单的CRUD(插入,查询,更新,删除)操作。 但是仍然需要对联合查询和存储过程手写SQL和对象。
使用生成工具Generator,开发者需要先要创建数据库,建好数据库表。生成工具是根据数据库表而生成java代码。在MyBatis中表现为生成mapper配置文件,mapper接口,实体类。与Hibernate相比较而言,Hibernate可以通过Java代码生成数据库,同时也可以通过数据库生成Java代码。
2,MyBatis Generator使用
根据官网http://www.mybatis.org/generator/index.html介绍有四种方法使用MyBatis Generator
- 通过命令行的形式
- 使用Ant
- 使用Maven
- 使用Java
- 在eclipse中使用插件
测试所用的是Java代码的形式,在官网上有个工具类,官网上提供了方法
刚开始工程结构:(对于对比逆向工程前后)
首先要在pom.xml文件中加入generator依赖
<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> <scope>compile</scope> <optional>true</optional> </dependency>
官网提供的工具生成类
public class Generator { public static void main(String[] args) { List<String> warnings = new ArrayList(); boolean overwrite = true; File configFile = new File("src/main/resources/generatorConfig.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config; try { config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (XMLParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvalidConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
File configFile = new File("src/main/resources/generatorConfig.xml");
因为我的创建的是maven的工程,而该文件所在的路径在src/main/resources/generatorConfig.xml
以下给出generatorConfig.xml配置文件的信息
<generatorConfiguration> <context id="mybatis_generator" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis_generator" userId="root" password="root"> </jdbcConnection> <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- targetProject:生成PO类的位置 --> <javaModelGenerator targetPackage="cn.mybatis_generator.entities" targetProject="./src/main/java/"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- targetProject:mapper映射文件生成的位置 --> <sqlMapGenerator targetPackage="cn.mybatis_generator.configmappers" targetProject="./src/main/java/"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage:mapper接口生成的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="cn.mybatis_generator.interfacemappers" targetProject="./src/main/java/"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 指定数据库表 --> <table tableName="items"> <table tableName="orders"> <table tableName="orderdetail"> </context></generatorConfiguration>
这样只需要运行上面的主程序就可以在相应的包中生成相应的文件。
工程运行结束后,工程结构为:
- 七,利用MyBatis Generator进行逆向工程
- mybatis-generator逆向工程
- MyBatis Generator 逆向工程
- mybatis generator逆向工程
- Mybatis-generator 逆向工程
- Mybatis逆向工程Generator
- mybatis逆向工程利用mybatis-generator-core自动生成代码
- mybatis 逆向工程 generator xml
- MyBatis Generator mybatis逆向工程工具使用
- mybatis generator(MyBatis的逆向工程)
- 使用 MyBatis Generator实现逆向工程
- IDEA搭建Mybatis Generator逆向工程
- mybatis generator逆向工程的生成
- mybatis generator 逆向工程代码生成
- MyBatis入门(七)---逆向工程
- 在IDEA中使用MyBatis Generator逆向工程生成代码
- 在IDEA中使用MyBatis Generator逆向工程生成代码
- 在IDEA中使用MyBatis Generator逆向工程生成代码
- C++ 11多线程编程--条件变量
- Node.js console.log('中文') 乱码
- mysql建表字符集
- -bash: pecl: command not found
- 第一个工作项目(3)- 转机
- 七,利用MyBatis Generator进行逆向工程
- 浅谈 Java 字符串(String, StringBuffer, StringBuilder)
- sqlserver数据库log文件过大 解决办法
- java读写excel
- querySelectorAll 方法相比 getElementsBy 系列方法有什么区别?
- JS键盘事件下拉菜单demo
- UML之用例图
- iOS_copy,strong,weak...整理
- 4.装饰模式