大概介绍下流程:

  1. 借助idea实现mybatis逆向工程
  2. 用xml配置实现整合
  3. 用cmd命令行实现mybatis逆向工程
  4. 用mapping.xml配置实现数据交互
  5. 用注解的方式实现数据交互

首先我的开发环境:
jdk1.8+maven3+IDEA

1. mybatis逆向攻城

逆向工程方式很多,我目前接触到的就两种,一种是借助于ide开发工具,一种是在cmd中执行命令。(其实二者原理都一样,都是执行maven的generator命令,具体请看下文)。

1. 完善pom文件
<?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>springboot-mybatis</groupId>
    <artifactId>springboot-mybatis</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>springboot-mybatis</name>
    <description>Demo project for Spring Boot</description>
    <parent>
        <groupId>springboot-integration</groupId>
        <artifactId>springboot-integration</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent> <!-- Add typical dependencies for a web application -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.35</version>
        </dependency> <!-- alibaba的druid数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.11</version>
        </dependency> <!-- alibaba的druid数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency> <!-- 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.0.4</version>
        </dependency>
    </dependencies> <!-- Package as an executable jar -->
    <build>
        <finalName>springboot-mybatis</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>


      
pom.xml
2. 逆向所需配置文件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:\lib\mysql_driver\mysql-connector-java-5.1.26-bin.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.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/user" userId="root"
                        password="root"></jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver> <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="com.fantj.sbmybatis.model" 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.fantj.sbmybatis.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator> <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>
</generatorConfiguration>


        
generatorConfig.xml
3. 利用IDE创建逆向工程启动类

spring boot2 整合(一)Mybatis (特别完整!)

4. add一个Maven configuration

spring boot2 整合(一)Mybatis (特别完整!)

spring boot2 整合(一)Mybatis (特别完整!)

5. 我的数据库和表结构

spring boot2 整合(一)Mybatis (特别完整!)

6. application配置文件
server:port: 8080 
spring:
  datasource:
  name: test 
  url: jdbc:mysql://127.0.0.1:3306/user 
  username: root
  password: root 
  # druid 连接池
    type: com.alibaba.druid.pool.DruidDataSource 
  driver-class-name: com.mysql.jdbc.Driver 
  filters: stat 
  maxActive: 20 
  initialSize: 1 
  maxWait: 60000 
  minIdle: 1 
  timeBetweenEvictionRunsMillis: 60000 
  minEvictableIdleTimeMillis: 300000 
  validationQuery: select 'x' 
  testWhileIdle: true 
  testOnBorrow: false 
  testOnReturn: false 
  poolPreparedStatements: true 
  maxOpenPreparedStatements: 20 
mybatis:
  mapper-locations: classpath:mapping/*.xml 
  type-aliases-package: com.fant.model 
  #pagehelper分页插件 
pagehelper: 
  helperDialect: mysql 
  reasonable: true 
  supportMethodsArguments: true 
  params: count=countSql
application.yml

相关文章:

  • 2022-12-23
  • 2022-02-05
  • 2021-11-30
  • 2021-10-14
  • 2022-01-15
  • 2021-11-20
  • 2021-05-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2022-12-23
  • 2021-11-01
相关资源
相似解决方案