zoukankan      html  css  js  c++  java
  • maven项目重构-使用了mybatis generator插件

    1.在worksapce下,dos窗口输入spring init -g=com.briup.apps -a=poll3 -d=mysql,mybatis,web poll3

    2.下载依赖,cd到poll3,执行mvn install,会报错,因为没有配置数据库的初始数据

    解决方法:eclipse导入poll3,打开/resources/application.properties,输入

    spring.datasource.driverClassName=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/pro2.0
    spring.datasource.username=root
    spring.datasource.password=root
    mybatis.mapper-locations= classpath:/mapper/**/*.xml 

    mybatis.mapper-locations=classpath:/mapper/**/*.xml  这个配置是为了让dao层找到mapper.xml文件的资源位置,和mapper文件夹下的mapper.xml映射

    3.修改pox.xml,内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.braup.apps</groupId>
        <artifactId>poll</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <name>demo</name>
        <description>Demo project for Spring Boot</description>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.3.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.2</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
            </dependency>
            
            <!-- swagger API文档 -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.6.1</version>
            </dependency>
    
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.6.1</version>
            </dependency>
            
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    
    </project>

    4.三层架构

    5.src/main/resources下新建mapper文件夹,用来保存mapper.xml文件

    6.在config包下创建MybatisConfig.java,用来配置mybatis

    package com.briup.apps.poll.config;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    @MapperScan("com.briup.apps.poll")
    public class MybatisConfig {
        
    }

    本来应该在DemoApplication.java中配置,已进行标记

    package com.braup.apps.poll;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @MapperScan("com.braup.apps.poll.dao")
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    }

    7.进行测试,mvn spring-boot:run,启动成功表明热部署,三层架构,swagger部署成功

    8.编写数据库访问层代码

      8.1.手写(时间长,费劲,代码冗余)

     8. 2.使用mybatis generator(自动生成bean和dao以及mapper.xml文件)。

            mybatis不是框架,是一个插件,不属于项目的一部分,产生的代码是项目的一部分。

     8.3配置mabatis generator框架

          8.3.1 pom.xml添加依赖

        

    <plugin>
              <groupId>org.mybatis.generator</groupId>
              <artifactId>mybatis-generator-maven-plugin</artifactId>
              <version>1.3.5</version>
            </plugin>

          8.3.2添加配置文件src/main/resources下添加------------1.根据那些表产生bean. 2.产生的pojo放在哪里. 3.产生的mapper接口放在哪里 4.产生的mapper实现类放在哪里 ........

    <?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">
    <!-- mybatis-generator的核心配置文件 -->
    <generatorConfiguration>
      <classPathEntry location="/Users/lichunyu/springboot/repository/mysql/mysql-connector-java/5.1.45/mysql-connector-java-5.1.45.jar" />
    
      <context id="DB2Tables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://127.0.0.1:3306/poll2.0"
            userId="root"
            password="root">
        </jdbcConnection>
    
        <!--指定生成的类型为java类型,避免数据库中number等类型字段 -->
        <javaTypeResolver >
          <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
    
        <!--自动生成的实体的存放包路径 -->
        <javaModelGenerator targetPackage="com.briup.apps.poll.bean" targetProject="./src/main/java">
          <property name="enableSubPackages" value="true" />
          <property name="trimStrings" value="true" />
        </javaModelGenerator>
    
        <!--自动生成的*Mapper.xml文件存放路径 -->
        <sqlMapGenerator targetPackage="mapper"  targetProject="./src/main/resources">
          <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
    
        <!--自动生成的*Mapper.java存放路径 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.briup.apps.poll.dao"  targetProject="./src/main/java">
          <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
    
        <!-- 映射配置 -->
         
        <table tableName="poll_survy" domainObjectName="Survy" ></table>
        <!--
        <table tableName="poll_school" domainObjectName="School" ></table>
        <table tableName="poll_grade" domainObjectName="Grade" ></table>
        <table tableName="poll_clazz" domainObjectName="Clazz" ></table>
        <table tableName="poll_course" domainObjectName="Course" ></table>
        <table tableName="poll_grade_course" domainObjectName="GradeCourse" ></table>
        <table tableName="poll_user" domainObjectName="User" ></table>
        <table tableName="poll_option" domainObjectName="Option" ></table>
        <table tableName="poll_question" domainObjectName="Question" ></table>
        <table tableName="poll_questionnaire" domainObjectName="Questionnaire" ></table>
        <table tableName="poll_questionnaire_question" domainObjectName="QuestionnaireQuestion" ></table>
        -->
      </context>
    </generatorConfiguration>

          8.3.3开始工作-( 要关闭项目)

    mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate
  • 相关阅读:
    Echarts Jqplot嵌extjs4 windows 装配方法
    法学类人猿生存方案--升华成掌握可能的方式
    LeetCode Merge k Sorted Lists 解决报告
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/zzuli/p/9226481.html
Copyright © 2011-2022 走看看