Java的generator工具类,数据库生成实体类和映射文件

分手后的思念是犯贱 2022-09-04 02:53 328阅读 0赞

首先需要几个jar包:

freemarker-2.3.23.jar

log4j-1.2.16.jar

mybatis-3.2.3.jar

mybatis-generator-core-1.3.2.jar

mysql-connector-java-5.1.28-bin.jar

ojdbc14.jar

这些jar包网上都有下载的地方

xml配置文件:generatorConfig.xml

代码如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  3. <!-- 配置生成器 -->
  4. <generatorConfiguration>
  5. <!-- 生成复杂的xml文件 -->
  6. <context id="MySQLContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
  7. <!-- 配置前置分隔符和后置分隔符 -->
  8. <property name="beginningDelimiter" value="`"/>
  9. <property name="endingDelimiter" value="`"/>
  10. <!-- 配置注释信息 -->
  11. <commentGenerator>
  12. <!-- 不生成注释 -->
  13. <property name="suppressAllComments" value="true"/>
  14. <property name="suppressDate" value="true"/>
  15. <property name="addRemarkComments" value="true"/>
  16. </commentGenerator>
  17. <!-- 数据库连接配置 -->
  18. <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/logisticsDB" userId="root" password="123456">
  19. </jdbcConnection>
  20. <!-- targetPackage:生成实体类存放的包名, targetProject:指定目标项目路径,可以使用相对路径或绝对路径 -->
  21. <javaModelGenerator targetPackage="com.entity" targetProject="src">
  22. <property name="trimStrings" value="true"/>
  23. </javaModelGenerator>
  24. <!-- 配置SQL映射器Mapper.xml文件的属性 -->
  25. <sqlMapGenerator targetPackage="com.dao" targetProject="src"/>
  26. <!-- type="XMLMAPPER":所有的方法都在XML中,接口调用依赖XML文件 -->
  27. <javaClientGenerator targetPackage="com.dao" type="XMLMAPPER" targetProject="src"/>
  28. <!-- 生成所有表的映射 -->
  29. <table tableName="%"></table>
  30. </context>
  31. </generatorConfiguration>

Java:Generator类

  1. package generator;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import java.sql.SQLException;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import org.mybatis.generator.api.MyBatisGenerator;
  8. import org.mybatis.generator.config.Configuration;
  9. import org.mybatis.generator.config.xml.ConfigurationParser;
  10. import org.mybatis.generator.exception.InvalidConfigurationException;
  11. import org.mybatis.generator.exception.XMLParserException;
  12. import org.mybatis.generator.internal.DefaultShellCallback;
  13. public class Generator {
  14. /* * targetRuntime="MyBatis3Simple", 不生成Example */
  15. public void generateMyBatis() {
  16. // MBG执行过程中的警告信息
  17. List<String> warnings = new ArrayList<String>();
  18. // 当生成的代码重复时,覆盖原代码
  19. boolean overwrite = true;
  20. String generatorFile = "/generatorConfig.xml";
  21. // String generatorFile = "/generator/generatorConfigExample.xml";
  22. // 读取MBG配置文件
  23. InputStream is = Generator.class.getResourceAsStream(generatorFile);
  24. ConfigurationParser cp = new ConfigurationParser(warnings);
  25. Configuration config;
  26. try {
  27. config = cp.parseConfiguration(is);
  28. DefaultShellCallback callback = new DefaultShellCallback(overwrite);
  29. // 创建MBG
  30. MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
  31. // 执行生成代码
  32. myBatisGenerator.generate(null);
  33. } catch (IOException e) {
  34. e.printStackTrace();
  35. } catch (XMLParserException e) {
  36. e.printStackTrace();
  37. } catch (InvalidConfigurationException e) {
  38. e.printStackTrace();
  39. } catch (SQLException e) {
  40. e.printStackTrace();
  41. } catch (InterruptedException e) {
  42. e.printStackTrace();
  43. }
  44. for (String warning : warnings) {
  45. System.out.println(warning);
  46. }
  47. }
  48. public static void main(String[] args) {
  49. Generator generator = new Generator();
  50. generator.generateMyBatis();
  51. }
  52. }

发表评论

表情:
评论列表 (有 0 条评论,328人围观)

还没有评论,来说两句吧...

相关阅读