利用Java和XML配置文件运行MBG

利用Java和XML配置文件运行MBG

  1. 添加相应jar包:mybatis-generator-core-xxx.jar
  2. 配置xml文件:generatorConfig.xml
  3. 添加相应Java代码

generatorConfig.xml



<generatorConfiguration>
    <context id="testTables" targetRuntime="MyBatis">
        <commentGenerator>
            
            <property name="suppressAllComments" value="true"/>
        commentGenerator>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/forest_blog"
                        userId="root"
                        password="root"/>


        <javaModelGenerator targetPackage="com.syx.blog.entity" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="false"/>
            <property name="trimString" value="true"/>
        javaModelGenerator>

        <sqlMapGenerator targetPackage="com.syx.blog.mapper" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="false"/>
        sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.syx.blog.mapper" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="false"/>
        javaClientGenerator>

        
        <table tableName="user"/>
    context>
generatorConfiguration>

Java代码:

  List<String> warnings = new ArrayList<String>();
        boolean overwrite=true;

        //指向generator的XML配置文件
        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);

存在的问题:

  1. 如果将xml配置文件放到其他地方,运行java代码会提示找不到配置文件。
  2. 如果将xml配置文件放到项目目录下(和src同级),提示这不是Generator的配置文件。
  3. 我真的是 啊 烦死了。

    问题解决1:
    暂未找到解决办法。。。
    问题解决2:
    问题出现在schema的dtd文件的引入部分,我发现我的这部分代码的指向是在自己系统目录下,而非jar包里面,当替换成jar包里面的dtd文件,就不会报此类错误。

 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"

你可能感兴趣的:(Mybatis)