发表于: 2019-11-01 18:44:15

1 940


今天完成的事情:用mybatis逆向工程生成实体类,sql语句,dao接口。

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>
   <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
   <classPathEntry  location="E:\xz\mysql-connector-java-6.0.6.jar"/>
   <context id="DB2Tables"  targetRuntime="MyBatis3">
       <commentGenerator>
           <property name="suppressDate" value="true"/>
           <!-- 是否去除自动生成的注释 true:是 : false:-->
           <property name="suppressAllComments" value="true"/>
       </commentGenerator>
       <!--数据库链接URL,用户名、密码 -->
       <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/baoming?serverTimezone=GMT%2B8" userId="root" password="12345">
       </jdbcConnection>
       <javaTypeResolver>
           <property name="forceBigDecimals" value="false"/>
       </javaTypeResolver>
       <!-- 生成模型的包名和位置-->
       <javaModelGenerator targetPackage="com.example.demo.entity" targetProject="src/main/java">
           <property name="enableSubPackages" value="true"/>
           <property name="trimStrings" value="true"/>
       </javaModelGenerator>
       <!-- 生成映射文件的包名和位置-->
       <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
           <property name="enableSubPackages" value="true"/>
       </sqlMapGenerator>
       <!-- 生成DAO的包名和位置-->
       <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.dao" targetProject="src/main/java">
           <property name="enableSubPackages" value="true"/>
       </javaClientGenerator>
       <table tableName="second" domainObjectName="SecondUser" enableCountByExample="false" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"></table>
   </context>
</generatorConfiguration>

在设置数据库连接<jdbcConnection>时,如果使用的是最新的mysq connectorsl版本(我的为6.0.6),driverClass需设置为“com.mysql.cj.jdbc.Driver”,而不是之前的“com.mysql.jdbc.Driver”。否则将报错

如果使用的是最新的mysql connectors版本(我的为6.0.6),还需要设置mysql的时区,以使tomcat(server)和mysql的时区同步。如在<jdbcConnection>中设置为connectionURL="jdbc:mysql://localhost:3306/test?serverTimezone=UTC"。如果不指定serverTimezone=UTC,将报错

一开始

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

这一行一直爆红,经过百度,在pom.xml文件添加

<dependency>
   <groupId>org.mybatis.generator</groupId>
   <artifactId>mybatis-generator-core</artifactId>
   <version>1.3.5</version>
</dependency>

爆红的问题解决了

<table tableName="second" domainObjectName="SecondUser" enableCountByExample="false" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"></table>

要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名

false或者true表示你是否生成相对应的接口

明天计划的事情:将自动生成的sql语句根据需求加以修改,然后进行业务层的拼接

遇到的问题:table标签栏一开始false和true没有弄对,表示生成的接口不是自己想要的
收获:熟悉了mybatis的逆向工程


返回列表 返回列表
评论

    分享到