zoukankan      html  css  js  c++  java
  • SpringBoot集成mybatis和mybatis generator

    利用搭建的基本的spring boot框架,集成 mybatis + generator

    1、设置 maven 的相关配置:

      File  - setting - maven

    设置 Maven home directory 和 setings file。(Tips:maven的使用涉及到hosts文件的内容)

    2、在pom文件中添加相关依赖和插件的配置信息

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    dependencies
    <build>
          <plugins>
               <plugin>
                   <groupId>org.mybatis.generator</groupId>
                   <artifactId>mybatis-generator-maven-plugin</artifactId>
                   <version>1.3.2</version>
                   <executions>
                       <execution>
                           <id>Generate MyBatis Artifacts</id>
                           <goals>
                               <goal>generate</goal>
                           </goals>
                       </execution>
                   </executions>
                   <configuration>
                       <!-- generator 工具配置文件的位置 -->
                       <configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
                       <verbose>true</verbose>
                       <overwrite>true</overwrite>
                   </configuration>
                   <dependencies>
                        <dependency>
                            <groupId>mysql</groupId>
                            <artifactId>mysql-connector-java</artifactId>
                            <version>5.1.34</version>
                        </dependency>
                        <dependency>
                            <groupId>org.mybatis.generator</groupId>
                            <artifactId>mybatis-generator-core</artifactId>
                            <version>1.3.2</version>
                        </dependency>
                   </dependencies>
               </plugin>
               <plugin>
                   <groupId>org.springframework.boot</groupId>
                   <artifactId>spring-boot-maven-plugin</artifactId>
                   <configuration>
                       <classifier>exec</classifier>
                   </configuration>
               </plugin>
           </plugins>
       </build>
    plugins

    3、等待IDEA更新maven仓库完成后,查看maven projects中的plugins

    会看到mybatis-generator插件的更新成功(如果遇到问题,请点击这里)

     4、配置generator需要使用的两个配置文件(applicaton.properties和generatorConfig.xml)

    spring.application.name=spring-boot-config
    server.port=8080
    server.servlet.context-path=/
    
    project=src/main/java
    resources=src/main/resources
    
    #mybatis.config-location=classpath:mybatis-config.xml
    #mybatis mapper文件的位置
    mybatis.mapper-locations=classpath*:mapper/**/*.xml
    #扫描pojo类的位置,在此处指明扫描实体类的包,在mapper中就可以不用写pojo类的全路径名了
    mybatis.type-aliases-package=com.cuit
    
    jdbc.type=mysql
    # allowMultiQueries允许执行多条sql语句,useAffectedRows返回实际影响的行数而不是匹配的行数
    spring.datasource.url=
    spring.datasource.username=
    spring.datasource.password=
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    application.properties
    <?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>
        <!--执行generator插件生成文件的命令: call mvn mybatis-generator:generate -e -->
        <!-- 引入配置文件 -->
        <properties resource="引用的配置文件名称,在这里是{application.properties}"/>
        <!--classPathEntry:数据库的JDBC驱动,换成你自己的驱动位置 可选 -->
        <!--<classPathEntry location="D:generator_mybatismysql-connector-java-5.1.24-bin.jar" /> -->
    
        <!-- 一个数据库一个context -->
        <!--defaultModelType="flat" 大数据字段,不分表 -->
        <context id="连接的数据库名" targetRuntime="MyBatis3Simple" defaultModelType="flat">
            <!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;
            一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 -->
            <property name="autoDelimitKeywords" value="true" />
            <!-- 生成的Java文件的编码 -->
            <property name="javaFileEncoding" value="utf-8" />
            <!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
            <property name="beginningDelimiter" value="`" />
            <property name="endingDelimiter" value="`" />
    
            <!-- 格式化java代码 -->
            <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
            <!-- 格式化XML代码 -->
            <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
            <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
    
            <plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
    
            <!-- 注释 -->
            <commentGenerator >
                <property name="suppressAllComments" value="false"/><!-- 是否取消注释 -->
                <property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳-->
            </commentGenerator>
    
            <!-- jdbc连接 -->
            <jdbcConnection driverClass="${spring.datasource.driver-class-name}" connectionURL="${spring.datasource.url}" userId="${spring.datasource.username}" password="${spring.datasource.password}" />
            <!-- 类型转换 -->
            <javaTypeResolver>
                <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
    
            <!-- 生成实体类地址 -->
            <javaModelGenerator targetPackage="com.example.demo.entry" targetProject="对应配置文件中的${project}" >
                <property name="enableSubPackages" value="false"/>
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
            <!-- 生成mapxml文件 -->
            <sqlMapGenerator targetPackage="mappers" targetProject="对应配置文件中的${resources}" >
                <property name="enableSubPackages" value="false" />
            </sqlMapGenerator>
            <!-- 生成mapxml对应client,也就是接口dao -->
            <javaClientGenerator targetPackage="com.example.demo.dao" targetProject="对应配置文件中的${project}" type="XMLMAPPER" >
                <property name="enableSubPackages" value="false" />
            </javaClientGenerator>
            <!-- table可以有多个,每个数据库中的表都可以写一个table,tableName表示要匹配的数据库表,也可以在tableName属性中通过使用%通配符来匹配所有数据库表,只有匹配的表才会自动生成文件 -->
            <table tableName="连接的表名" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
                <property name="useActualColumnNames" value="false" />
                <!-- 数据库表主键 -->
                <generatedKey column="表中的主键名" sqlStatement="Mysql" identity="true" />
            </table>
        </context>
    
    
    </generatorConfiguration>
    generatorConfig.xml

     5、点击运行maben projects中的plugins下的mybati-generator插件,生成

    6、运行完成generator后,开始尝试利用mybatis实现数据的读取和存储

  • 相关阅读:
    1.4.2.3. SETUP(Core Data 应用程序实践指南)
    1.4.2.2. PATHS(Core Data 应用程序实践指南)
    1.4.2.1. FILES(Core Data 应用程序实践指南)
    1.4.2. 实现 Core Data Helper 类(Core Data 应用程序实践指南)
    1.4.1. Core Data Helper 简介(Core Data 应用程序实践指南)
    1.4. 为现有的应用程序添加 Core Data 支持(Core Data 应用程序实践指南)
    1.3.2. App Icon 和 Launch Image(Core Data 应用程序实践指南)
    1.3.1. 新建Xcode项目并设置故事板(Core Data 应用程序实践指南)
    php验证邮箱是否合法
    如何使js函数异步执行
  • 原文地址:https://www.cnblogs.com/yourGod/p/9182293.html
Copyright © 2011-2022 走看看