mybatis-generator 详细配置及使用,爬坑记录

mybatis-generator 详细配置及使用,爬坑记录

提示:如果不成功一定是项目路径和 数据库配置出问题,本篇基于 MySQL 8.0.13,调试没有问题。

如果失败,建议使用相同的项目结构,包名,进行重试,博主也是多次调试,才成功。一些常见问题,看报错提示信息是可以看懂的,加油。

整个项目的源代码,最后,也会给出下载链接。

这是根据数据库,生成后的项目结构:

mybatis-generator 详细配置及使用,爬坑记录_第1张图片

一、简介:

mybatis-geneator 是一款 mybatis 自动代码生成工具,可以通过配置,快速生成 mapper 和 xml 文件。

二、配置方法:

(1)在项目的 pom.xml 文件中添加插件配置

详细的 pom.xml 配置:

<plugin>
	<groupId>org.mybatis.generatorgroupId>
	<artifactId>mybatis-generator-maven-pluginartifactId>
	<version>1.3.7version>

	<dependencies>
		<dependency>
		  <groupId>org.mybatis.generatorgroupId>
 		  <artifactId>mybatis-generator-coreartifactId>
          <version>1.3.7version>
        dependency>

        <dependency>
          <groupId>mysqlgroupId>
          <artifactId>mysql-connector-javaartifactId>
          <version>8.0.13version>
        dependency>
     dependencies>

     <executions>
        <execution>
          <id>mybatis generatorid>
          <phase>packagephase>
          <goals>
            <goal>generategoal>
          goals>
          <configuration>
            
            <verbose>trueverbose>
            
            <overwrite>trueoverwrite>
            <configurationFile>
              src/main/resources/generatorConfig.xml
            configurationFile>
       configuration>
     execution>
     executions>


plugin>

(2)根据自己配置的文件路径及名称,创建相应 generatorConfig.xml 文件,位置如下图:

mybatis-generator 详细配置及使用,爬坑记录_第2张图片

(3)先手动创建一些目录,在配置的时候回有提示,大大降低出错概率,整体目录结构:

mybatis-generator 详细配置及使用,爬坑记录_第3张图片

三、创建 MySQL 数据库,创建 2 两个表:

之前介绍过多次命令行创建数据库表了,查看 MySQL - 最经典的 命令行操作数据库 + 表(增删改查实例)

这次使用 Navicat for MySQL,如果没有安装请参考:Navicat for MySQL 最新版安装与破解 + 报错解决办法

(1)建立连接,创建数据库:

(2)数据库名,选择编码:

mybatis-generator 详细配置及使用,爬坑记录_第4张图片

(3)新建表:
mybatis-generator 详细配置及使用,爬坑记录_第5张图片

(4)填写表信息:

主键:

其他:
mybatis-generator 详细配置及使用,爬坑记录_第6张图片

表名为 user_info

(5)插入一条信息:
mybatis-generator 详细配置及使用,爬坑记录_第7张图片

(6)细心的你可能发现了没有 upwd 存密码的字段,我们这里放在另外一张表上,新建表 user_pwd:
mybatis-generator 详细配置及使用,爬坑记录_第8张图片

四、配置源代码

老规矩,先看一下,整个的项目结构:
mybatis-generator 详细配置及使用,爬坑记录_第9张图片

(1)编辑 mybatis-generator.xml 文件:

(重要!)
(请详细看注释!自行修改自己的配置信息)

修改目录请自行对应,可放大查看:

mybatis-generator 详细配置及使用,爬坑记录_第10张图片

generatorConfig.xml 文件源代码:




<generatorConfiguration>

    
    
    
    <context id="default" targetRuntime="MyBatis3">


        
        
        
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/miaosha?serverTimezone=UTC"
                        userId="root"
                        password="xiaopengwei">
        jdbcConnection>

        
        
        
        <javaModelGenerator targetPackage="com.miaoshapro.dataobject"
                            targetProject=".\src\main\java">
            
            <property name="enableSubPackages" value="false" />
            
            <property name="constructorBased" value="true" />
            
            <property name="trimStrings" value="true" />
            
            <property name="immutable" value="false" />
        javaModelGenerator>

        
        <sqlMapGenerator targetPackage="mapping"
                         targetProject=".\src\main\resources">
            
            <property name="enableSubPackages" value="false" />
        sqlMapGenerator>

        
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.miaoshapro.dao" targetProject=".\src\main\java">
            
            <property name="enableSubPackages" value="true" />
        javaClientGenerator>

        
        <table tableName="user_info" domainObjectName="UserDO">
        table>
        <table tableName="user_pwd" domainObjectName="UserPwdDO">
        table>
    context>
generatorConfiguration>

如果不想要那个 Example 一堆,编辑 mybatis-generator.xml 文件:




<generatorConfiguration>

    
    
    
    <context id="default" targetRuntime="MyBatis3">


        
        
        
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/miaosha?serverTimezone=UTC"
                        userId="root"
                        password="xiaopengwei">
        jdbcConnection>

        
        
        
        <javaModelGenerator targetPackage="com.miaoshapro.dataobject"
                            targetProject=".\src\main\java">
            
            <property name="enableSubPackages" value="false" />
            
            <property name="constructorBased" value="true" />
            
            <property name="trimStrings" value="true" />
            
            <property name="immutable" value="false" />
        javaModelGenerator>

        
        <sqlMapGenerator targetPackage="mapping"
                         targetProject=".\src\main\resources">
            
            <property name="enableSubPackages" value="false" />
        sqlMapGenerator>

        
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.miaoshapro.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">
        table>
        <table tableName="user_pwd" domainObjectName="UserPwdDO"
               enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false">
        table>
    context>
generatorConfiguration>

(2)配置 application.properties 文件

#自定义端口
server.port=8090

mybatis.mapper-locations=classpath:mapping/*.xml

spring.datasource.name=miaosha
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/miaosha?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=xiaopengwei

# 使用 druid 数据源

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

六、执行 mybatis-generator 插件

(1)打开配置:
mybatis-generator 详细配置及使用,爬坑记录_第11张图片

(2)点击 +,选择 Maven:
mybatis-generator 详细配置及使用,爬坑记录_第12张图片

(3)输入信息,命令:
mybatis-generator 详细配置及使用,爬坑记录_第13张图片

(4)选中刚才创建的名称,点击执行:
mybatis-generator 详细配置及使用,爬坑记录_第14张图片

七、运行结果:

(1):
mybatis-generator 详细配置及使用,爬坑记录_第15张图片

(2):
mybatis-generator 详细配置及使用,爬坑记录_第16张图片

(3):
mybatis-generator 详细配置及使用,爬坑记录_第17张图片

(4):
mybatis-generator 详细配置及使用,爬坑记录_第18张图片

八、连接数据库测试

(1)编辑 main/java/com.包名。。 下面的 App.java 文件:

package com.miaoshapro;

import com.miaoshapro.dao.UserDOMapper;
import com.miaoshapro.dataobject.UserDO;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Hello world!
 *
 */

//自动配置注解,自动扫描,加载到项目工程中

@SpringBootApplication(scanBasePackages = {"com.miaoshapro"})
@RestController
@MapperScan("com.miaoshapro.dao")
public class App {

    @Autowired(required = false)
    private UserDOMapper userDOMapper;

    //请求映射,当请求 /home 时执行该方法
    @RequestMapping("/home")
    public String home(){
        UserDO userDO = userDOMapper.selectByPrimaryKey(1);
        if (userDO == null){
            return "用户对象不存在";
        }else
            return userDO.getUname();
    }

    public static void main( String[] args ) {

        System.out.println( "Hello World!" );

        //启动 Web 容器
        SpringApplication.run(App.class, args);
    }
}

(2)打开浏览器访问,(默认端口是 8080 ,这里是配置文件中修改的):

http://localhost:8090/home

(3)查看结果:

因为在 App 中我们测试的,通过主键为 1 进行查询,并返回结果:

mybatis-generator 详细配置及使用,爬坑记录_第19张图片

(4)成功!

更多文章链接

  • Java 分类导航

支持博主

我正在参加 CSDN 2018 年博客之星评选,希望大家能支持我,
我是【No. 001】号 肖朋伟 ,感谢大家宝贵的一票 ^_^/
投票地址:https://bss.csdn.net/m/topic/blog_star2018/index

你可能感兴趣的:(#,#,Spring,Boot+MyBatis,电商)