Java web项目集成Mybatis

  • 配置pom文件
<!-- Mysql依赖,版本号与所用Mysql的版本保持一致 -->
<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.11</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.3</version>
</dependency>
<!-- Spring对Mybatis的支持 -->
<dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.3.1</version>
</dependency>


<!-- 引入Mybatis自动生成文件插件 -->
<plugin>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-maven-plugin</artifactId>
  <version>1.3.5</version>
  <dependencies>
    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.5</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.11</version>
    </dependency>
  </dependencies>
  <executions>
    <execution>
      <id>mybatis generator</id>
      <phase>package</phase>
      <goals>
        <goal>generate</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <verbose>true</verbose>
    <!--在实际开发中这个属性一般为false-->
    <overwrite>true</overwrite>
    <configurationFile>
      src/main/resources/mybatis-generator.xml
    </configurationFile>
  </configuration>
</plugin>
  • resources文件夹下面新建mapping文件夹
  • 在application.properties中增加配置
mybatis.mapper-locations=classpath:mapping/*.xml
  • 编写mybatis-generator.xml,注意生成dataobject、dao、mapper路径需要根据自己的项目路径进行配置,在项目的com.***project下新建dao和dataobject文件夹
  • xml文件中table表示要生成的表的信息,按照需求自己进行编写
<?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="DB2Tables" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/***?useSSL=false"
                        userId="***"
                        password="***">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!--生成DataObject所存放的位置-->
        <javaModelGenerator targetPackage="com.***project.dataobject" 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.***project.dao"  targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <table tableName="user_info" domainObjectName="UserDO" enableCountByExample="false"
               enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
        <table tableName="user_password" domainObjectName="UserPsswordDO" enableCountByExample="false"
               enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

    </context>
</generatorConfiguration>
  • 点解IDEA的run功能,配置mybatis生成命令,然后运行,生成项目所需代码
    Java web项目集成Mybatis
  • 编写application.properties文件
#数据库名称
spring.datasource.name=***
spring.datasource.url=jdbc:mysql://localhost:3306/***?useSSL=false
spring.datasource.username=root
spring.datasource.password=***

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driverClassName=com.mysql.jdbc.Driver
  • 最后通过注解实现mybatis相关配置扫描
@SpringBootApplication(scanBasePackages = {"com.***project"})
//构建controller
@RestController
@MapperScan("com.***project.dao")