创建 Maven 工程

网上有很多教程且 Idea 可以直接创建 这里就不进行

pom.xml 引入依赖和插件

pom中generalto-maven-plugs中必须指定mysql驱动,并且明确版本

<?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.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>top.orginly</groupId>
<artifactId>mall</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mall</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</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> <dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- mysql8 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.24</version>
</dependency>
</dependencies> <build>
<plugins>
<!-- springboot的maven插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin> <plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<!-- mybatis用于生成代码的配置文件 如果配置文件名为generatorConfig.xml 则不需要配置 -->
<!-- <configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>-->
<!-- 允许移动生成的文件 -->
<verbose>true</verbose>
<!-- 启用覆盖 -->
<overwrite>true</overwrite>
</configuration>
<!-- 引入插件所需要的依赖 -->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.24</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build> </project>

generatorConfig.xml 自动生成配置文件

table标签中需要指定tableName和生成的实体名字

<?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">
<commentGenerator>
<!-- 是否生成注释代时间戳-->
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接地址账号密码-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://172.17.0.2:3306/spring-boot-mall?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai"
userId="root"
password="000">
</jdbcConnection>
<javaTypeResolver>
<!--该属性可以控制是否强制DECIMAL和NUMERIC类型的字段转换为Java类型的java.math.BigDecimal,默认值为false,一般不需要配置。-->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成Model类存放位置-->
<javaModelGenerator targetPackage="top.orginly.mall.model.pojo" targetProject="src/main/java">
<!--enableSubPackages:如果true,MBG会根据catalog和schema来生成子包。如果false就会直接用targetPackage属性。默认为false。-->
<property name="enableSubPackages" value="true"/>
<!--trimStrings:是否对数据库查询结果进行trim操作,如果设置为true就会生成类似这样public void setUsername(String username) {this.username = username == null ? null : username.trim();}的setter方法。默认值为false。-->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成映射xml文件存放位置-->
<sqlMapGenerator targetPackage="mappers" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--生成Dao类存放位置(*Mapper.java)-->
<!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
-->
<javaClientGenerator type="XMLMAPPER" targetPackage="top.orginly.mall.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator> <!--生成对应表及类名-->
<table tableName="mall_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
<!--useActualColumnNames:如果设置为true,那么MBG会使用从数据库元数据获取的列名作为生成的实体对象的属性。 如果为false(默认值),MGB将会尝试将返回的名称转换为驼峰形式。 在这两种情况下,可以通过 元素显示指定,在这种情况下将会忽略这个(useActualColumnNames)属性。-->
<property name="useActualColumnNames" value="true"/>
<!-- 数据库表主键 可以不设置 -->
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
</table> </context>
</generatorConfiguration>

运行生成文件

这里推荐使用IDEA

我们只需要找到右边侧栏中的maven

依次找到 plugins–>mybatis-generaltor–>mybatis-generaltor:generaltor

之后双击即可,此时刷新一下项目就自动生成我们想要的,mapper和xml以及pojo

提示 BUILD SUCCESS 即生成成功!

[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< top.orginly:mall >--------------------------
[INFO] Building mall 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- mybatis-generator-maven-plugin:1.4.0:generate (default-cli) @ mall ---
[INFO] Connecting to the Database
[INFO] Introspecting table mall_user
[INFO] Introspecting table mall_category
[INFO] Introspecting table mall_goods
[INFO] Introspecting table mall_order
[INFO] Introspecting table mall_order_goods
[INFO] Introspecting table mall_cart
[INFO] Generating Primary Key class for table mall_user
[INFO] Generating Record class for table mall_user
[INFO] Generating Mapper Interface for table mall_user
[INFO] Generating SQL Map for table mall_user
[INFO] Generating Record class for table mall_category
[INFO] Generating Mapper Interface for table mall_category
[INFO] Generating SQL Map for table mall_category
[INFO] Generating Record class for table mall_goods
[INFO] Generating Mapper Interface for table mall_goods
[INFO] Generating SQL Map for table mall_goods
[INFO] Generating Primary Key class for table mall_order
[INFO] Generating Record class for table mall_order
[INFO] Generating Mapper Interface for table mall_order
[INFO] Generating SQL Map for table mall_order
[INFO] Generating Record class for table mall_order_goods
[INFO] Generating Mapper Interface for table mall_order_goods
[INFO] Generating SQL Map for table mall_order_goods
[INFO] Generating Record class for table mall_cart
[INFO] Generating Mapper Interface for table mall_cart
[INFO] Generating SQL Map for table mall_cart
[INFO] Saving file UserMapper.xml
[INFO] Saving file CategoryMapper.xml
[INFO] Saving file GoodsMapper.xml
[INFO] Saving file OrderMapper.xml
[INFO] Saving file OrderGoodsMapper.xml
[INFO] Saving file CartMapper.xml
[INFO] Saving file UserKey.java
[INFO] Saving file User.java
[INFO] Saving file UserMapper.java
[INFO] Saving file Category.java
[INFO] Saving file CategoryMapper.java
[INFO] Saving file Goods.java
[INFO] Saving file GoodsMapper.java
[INFO] Saving file OrderKey.java
[INFO] Saving file Order.java
[INFO] Saving file OrderMapper.java
[INFO] Saving file OrderGoods.java
[INFO] Saving file OrderGoodsMapper.java
[INFO] Saving file Cart.java
[INFO] Saving file CartMapper.java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.193 s
[INFO] Finished at: 2021-06-01T22:33:37+08:00
[INFO] ------------------------------------------------------------------------

最新文章

  1. Ansible 模块命令介绍
  2. 关于Lua优质文章链接
  3. HtmlAgilityPack使用
  4. 《零成本实现Web性能测试:基于Apache JMeter》读书笔记
  5. android 给空白包签名
  6. AX7 VM can not starting
  7. POJ 1182 食物链
  8. eclipse配置tomcat,访问http://localhost:8080出现404错误
  9. linux文件夹操作(及模糊搜索)
  10. c/c++动态分配内存和malloc的使用
  11. JAVA编程相关:eclipse如何导入已有工程
  12. HDU 5611 Baby Ming and phone number
  13. 201521123039《Java程序设计》第十三周学习总结
  14. qmake: could not exec &#39;/usr/lib/x86_64-linux-gnu/qt4/bin/qmake&#39;: No such file or directory
  15. JNI和NDK基础
  16. python零碎知识点
  17. 使用pssh进行并行批量操作
  18. PyCharm Python迁移项目
  19. Lenna图-莱娜&#183;瑟德贝里
  20. js,h5页面判断客户端是ios还是安卓

热门文章

  1. day11.迭代器与生成器
  2. Alpine镜像
  3. OO Unit1 总结
  4. boltdb的实现和改进
  5. phpstorm 方法名类名 作者日期 注释
  6. dedecms发布文章排序按发布时间,不是更新时间
  7. Android APK程序的smali动态调试
  8. POJ1364基本的查分约束问题
  9. Windows PR提权
  10. 11.PHP与MySQL