Mybatis链接步骤

Mybatis链接并使用tkMybatis代码生成器

1.配置pom.xml

完整pom.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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>mybatisDemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mybatisDemo</name>
    <description>mybatisDemo</description>
    <properties>
        <java.version>8</java.version>
    </properties>
    <dependencies>
        <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>
        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.20</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>

        <!--阿里数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.4</version>
        </dependency>

        <!-- mybatis逆向工程依赖 -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.4.1</version>
        </dependency>
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>4.1.5</version>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.10</version>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.3.7</version>
        </dependency>
        <dependency>
            <groupId>net.coobird</groupId>
            <artifactId>thumbnailator</artifactId>
            <version>0.4.8</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

2.在src/main/resources/目录下配置application.yml文件

完整代码如下:

server:
  port: 8080
spring:
  main:
    allow-circular-references: true
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/wx_shop?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
    username: root
    password: 423423
    hikari:
       max-lifetime: 1000000
  thymeleaf:
    cache: false #关闭缓存
  servlet:
    multipart:
      max-file-size: 100MB
      max-request-size: 100MB

mybatis:
  mApper-locations: classpath:mApper/*.xml
  type-aliases-package: com.javaclimb.entity

pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  params: count=countSql

authority:
  info: '[]'

logging:
  file:
    path: log
    name: log/my.log
  level:
    com:
    javaclimb:
    dao: debug

3.在src/main/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>
                <!-- context元素用于指定生成一组对象的环境。targetRuntime:此属性用于指定生成的代码的运行时环境。MyBatis3:*这是默认值*-->
                <context id="DB2Tables" targetRuntime="MyBatis3">
                        <commentGenerator>
                                <!-- 是否去除自动生成的注释 true:是 : false:否 -->
                                <property name="suppressAllComments" value="false" />
                                <!-- 阻止注释中包含时间戳 true:是 : false:否 -->
                                <property name="suppressDate" value="true" />
                                <!--  注释是否包含数据库表的注释信息  true:是 : false:否 -->
                                <property name="addRemarkComments" value="true" />
                       </commentGenerator>
                        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
                        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                                                        connectionURL="jdbc:mysql://localhost:3306/wx_shop?useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=GMT%2b8"
                                                        userId="root"
                                                        password="423423">
                                <property name="useInformationSchema" value="true"/>
                        </jdbcConnection>
                       <!-- 如使用oracle请参考如下 -->
                       <!-- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
                                    connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
                                    userId="test"
                                    password="test">
                                </jdbcConnection> -->

                        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
                        NUMERIC 类型解析为java.math.BigDecimal -->
                        <javaTypeResolver>
                         <property name="forceBigDecimals" value="false"/>
                        </javaTypeResolver>

                        <!-- targetProject:生成PO类的位置 -->
                        <javaModelGenerator targetPackage="com.javaclimb.entity"
                                    targetProject=".\src\main\java">
                                <!-- enableSubPackages:是否让schema作为包的后缀 -->
                                <property name="enableSubPackages" value="false"/>
                                 <!-- 从数据库返回的值被清理前后的空格 -->
                                <property name="trimStrings" value="true"/>
                        </javaModelGenerator>
                        <!-- targetProject:mApper映射文件生成的位置 -->
                        <sqlMapGenerator targetPackage="mApper"
                                             targetProject=".\src\main\resources">
                         <!-- enableSubPackages:是否让schema作为包的后缀 -->
                                <property name="enableSubPackages" value="false"/>
                        </sqlMapGenerator>
                        <!-- targetPackage:mApper接口生成的位置 -->
                        <javaClientGenerator type="XMLMAppER"
                                         targetPackage="com.javaclimb.mApper"
                                         targetProject=".\src\main\java">
                        <!-- enableSubPackages:是否让schema作为包的后缀 -->
                                <property name="enableSubPackages" value="false"/>
                        </javaClientGenerator>

                        <!-- 指定数据库表 -->
                        <table tableName="user_info" enableCountByExample="false" enableUpdateByExample="false"
                               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"
                               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"></table>
                        <table tableName="type_info" enableCountByExample="false" enableUpdateByExample="false"
                               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"
                               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"></table>
                        <table tableName="order_info" enableCountByExample="false" enableUpdateByExample="false"
                               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"
                               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"></table>
                        <table tableName="order_goods_rel" enableCountByExample="false" enableUpdateByExample="false"
                               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"
                               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"></table>
                        <table tableName="nx_system_file_info" enableCountByExample="false" enableUpdateByExample="false"
                               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"
                               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"></table>
                        <table tableName="goods_info" enableCountByExample="false" enableUpdateByExample="false"
                               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"
                               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"></table>
                        <table tableName="comment_info" enableCountByExample="false" enableUpdateByExample="false"
                               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"
                               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"></table>
                        <table tableName="cart_info" enableCountByExample="false" enableUpdateByExample="false"
                               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"
                               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"></table>
                        <table tableName="advertiser_info" enableCountByExample="false" enableUpdateByExample="false"
                               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"
                               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableDeleteByPrimaryKey="true"></table>

                        <!-- 有些表的字段需要指定java类型
                            <table schema="" tableName="">
                        <columnOverride column="" javaType="" />
                        </table> -->
                </context>
        </generatorConfiguration>

4.编写执行文件

在这里插入图片描述

@Test
    void contextLoads()  throws Exception{
        List<String> warnings = new ArrayList<>();
        boolean overwrite = true;
        //下一行中的是存放generator配置的路径,
        File configFile = new File("src/main/resources/generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback,warnings);
        myBatisGenerator.generate(null);
    }

5.生成entity和mapper

在这里插入图片描述

ack callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback,warnings);
myBatisGenerator.generate(null);
}


5.生成entity和mapper

[外链图片转存中...(img-PfzdfdzH-1701003335421)]

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值