发表于: 2019-11-18 22:54:40

1 972


今天完成的事情:

使用mybatis逆向工程生成pojo,mapper和dao

添加依赖

<build>
   <plugins>
       <!-- mybatis-generator生成代码插-->
       <plugin>
           <groupId>org.mybatis.generator</groupId>
           <artifactId>mybatis-generator-maven-plugin</artifactId>
           <version>1.3.6</version>
       </plugin>
   </plugins>
</build>
<dependencies>
   <dependency>
       <groupId>log4j</groupId>
       <artifactId>log4j</artifactId>
       <version>1.2.17</version>
   </dependency>
   <dependency>
       <groupId>org.mybatis</groupId>
       <artifactId>mybatis</artifactId>
       <version>3.2.3</version>
   </dependency>
   <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>5.1.48</version>
   </dependency>
   <dependency>
       <groupId>org.mybatis.generator</groupId>
       <artifactId>mybatis-generator-core</artifactId>
       <version>1.3.6</version>
   </dependency>
</dependencies>

在resources目录下创建配置文件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>
   <!--mysql jar 选择自己本地位置-->
   <classPathEntry location="E:\MySQL\mysql-connector-java-5.1.48\mysql-connector-java-5.1.48.jar" />
   <context id="testTables" targetRuntime="MyBatis3">
       <commentGenerator>
           <!-- 是否去除自生成的注 true:是 : false:-->
           <property name="suppressAllComments" value="true" />
       </commentGenerator>
       <!--库连接的信息:驱动类接地址、用名、密-->
       <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                       connectionURL="jdbc:mysql://localhost:3306/task3?useSSL=false&amp;severTimezone=UTC&amp;
                       characterEncoding=utf-8&amp;useUnicode=true"
                       userId="root"
                       password="10290310">
       </jdbcConnection>
       <!-- false,把JDBC DECIMAL NUMERIC 型解析 Integer trueJDBC DECIMAL
          NUMERIC 型解析java.math.BigDecimal -->
       <javaTypeResolver>
           <property name="forceBigDecimals" value="false" />
       </javaTypeResolver>

       <!-- targetProject:生成PO的位置 -->
       <javaModelGenerator targetPackage="com.ywb.pojo"
                           targetProject="src/main/java">
           <!-- enableSubPackages:是否schema包的后-->
           <property name="enableSubPackages" value="false" />
           <!-- 从数返回的理前后的空格 -->
           <property name="trimStrings" value="true" />
       </javaModelGenerator>
       <!-- targetProject:mapper映射文件生成的位置
          如果maven工程只是单独的一工程,targetProject="src/main/java"
          若果maven工程是分模的工程,targetProject="的名",例如:
          targetProject="ecps-manager-mapper",下同-->
       <sqlMapGenerator targetPackage="com.ywb.mapper"
                        targetProject="src/main/java">
           <!-- enableSubPackages:是否schema包的后-->
           <property name="enableSubPackages" value="false" />
       </sqlMapGenerator>
       <!-- targetPackagemapper接口生成的位置 -->
       <javaClientGenerator type="XMLMAPPER"
                            targetPackage="com.ywb.dao"
                            targetProject="src/main/java">
           <!-- enableSubPackages:是否schema包的后-->
           <property name="enableSubPackages" value="false" />
       </javaClientGenerator>
       <!-- 指定-->
       <table schema="" tableName="banner"></table>
       <table schema="" tableName="fir_portfolio"></table>
       <table schema="" tableName="message"></table>
       <table schema="" tableName="module"></table>
       <table schema="" tableName="root_user"></table>
       <table schema="" tableName="sec_portfolio"></table>
       <table schema="" tableName="studio"></table>
       <table schema="" tableName="works"></table>
   </context>
</generatorConfiguration>

创建main方法,运行,自动生成代码

public class Generator {
public void generator() throws Exception{
List<String> warnings = new ArrayList<String>();
       boolean overwrite = true;
       /**指向逆向工程配置文件*/
       File configFile = new File("src/main/resources/generatorConfig.xml");
       ConfigurationParser parser = new ConfigurationParser(warnings);
       Configuration config = parser.parseConfiguration(configFile);
       DefaultShellCallback callback = new DefaultShellCallback(overwrite);
       MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
               callback, warnings);
       myBatisGenerator.generate(null);
   }
public static void main(String[] args) throws Exception {
try {
Generator generatorSqlmap = new Generator();
           generatorSqlmap.generator();
       } catch (Exception e) {
e.printStackTrace();
       }
}
}

成功生成代码



明天计划的事情:

测试接口,编写controller                 
遇到的问题:   

运行代码时,出现错误

Access denied for user 'root'@'localhost' (using password:YES) 

查询资料,大多都是说密码错误,需要在my.ini文件中添加skip-grant-tables,这样不用输入密码,直接连接数据库。

但是我很确定我的密码没错,之前的项目也是一样的密码,能够连接上数据库。

最后发现是因为3306端口被占用了......


随后按快捷键Windows+R,弹框里输入services.msc


找到占用mysql端口的进程,停止进程。

成功解决问题。          

收获:


返回列表 返回列表
评论

    分享到