Mac OS 里使用MyBatisGenerator的注意点,看完最后一点,再复制代码

1 篇文章 0 订阅
1 篇文章 0 订阅

Mac OS 里使用MyBatisGenerator的注意点,看完最后一点,再复制代码

1、引入MBG以及MySQL的依赖,这段代码可能有毒,因为笔者的mysql版本是目前最新的,所以mysql依赖也比较新,大家复制代码的时候要注意下,根据自己的情况来:

  <!-- mybatis-generator -->
  <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.5</version>
  </dependency>
  <!--mysql-connector -->
  <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.12</version>
  </dependency>

2、编写MybatisGenerator的配置文件mbg.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>
    <context id="mysqlTables" targetRuntime="MyBatis3">
        <!--生成的Java文件不要有注释信息-->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--连接数据库 ?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=UTC-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/book?useSSL=false"
                        userId="root"
                        password="rootroot">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!--这里是实体生成,也就是java中的类,表示的是在targetProject所指这个目录下,建立targetPackage所指的包。-->
        <javaModelGenerator targetPackage="com.zero.crud.entity" targetProject="/Users/mac/IdeaProjects/crud/src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--这里是mapper配置文件的生成。-->
        <sqlMapGenerator targetPackage="mapper" targetProject="/Users/mac/IdeaProjects/crud/src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!--这里生成的是与mapper配置文件相对应的xxxMapper接口,xxxMapper是直接与数据库交互的。-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.zero.crud.dao"
                             targetProject="/Users/mac/IdeaProjects/crud/src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!--table标签对应数据库中的table表,tableName与数据库中的表名对应,domainObjectName表示你想生成的实体类的类名-->
        <table tableName="book" domainObjectName="Book"
               enableSelectByExample="false" enableDeleteByExample="false" enableCountByExample="false"
               enableUpdateByExample="false"
        >
            <property name="useActualColumnNames" value="true"/>
        </table>
    </context>
</generatorConfiguration>

3、编写一个测试类,用Java代码来读取MyBatisGenerator的配置文件,这里就是用Java代码来读取mbg.xml文件,然后会自动在你所设置的文件路径里生成对应的Java文件。代码如下:

public class MyBatisGeneratorTest {
    @Test
    public void testMyBatisGenerator() throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("mbg.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);
    }
}

这里重点是File configFile = new File("mbg.xml");这句话,这个里是MyBatisGenerator的配置文件所在的路径位置。

4、针对Mac OS系统,在mbg.xml里面,
targetProject="/Users/mac/IdeaProjects/crud/src/main/java"这句话后面的路径必须是绝对路径,不能是.\src\...\这样的路径名称。

5、mysql的依赖版本与自己使用的mysql数据库的版本要对应的上,不然会报错,说:不能创建数据库。由于笔者刚买的新电脑,下载mysql是最新版本的,但是导入mysql依赖的时候,还有用5.X.X,6.X.X,这些都不行,大家在参考的时候,需要引入自己数据库对应的依赖版本!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值