Mybatis-plus 代码生成器

这篇具有很好参考价值的文章主要介绍了Mybatis-plus 代码生成器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.xxxx</groupId>
	<artifactId>shop-generator</artifactId>
	<version>1.0-SNAPSHOT</version>

	<!-- 继承 shop-parent 依赖 -->
	<parent>
		<groupId>com.wll</groupId>
		<artifactId>shop</artifactId>
		<version>1.0-SNAPSHOT</version>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
	</properties>

	<dependencies>
		<!-- mybatis 依赖(让生成的 pojo 和 mapper 不缺少注解相关类型) -->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
		</dependency>
		<!-- mybatis generator core 依赖 -->
		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.7</version>
		</dependency>
	</dependencies>

	<!-- build 标签常用于添加插件及编译配置 -->
	<build>
		<plugins>
			<!-- mybatis generator plugin 依赖 -->
			<plugin>
				<groupId>org.mybatis.generator</groupId>
				<artifactId>mybatis-generator-maven-plugin</artifactId>
				<version>1.3.7</version>
				<configuration>
					<verbose>true</verbose>
					<!-- 是否覆盖 -->
					<overwrite>true</overwrite>
					<!-- 自动生成的配置 -->
					<configurationFile>src/main/resources/mybatis-generator.xml</configurationFile>
				</configuration>
				<dependencies>
					<!-- mysql 数据库依赖 -->
					<dependency>
						<groupId>mysql</groupId>
						<artifactId>mysql-connector-java</artifactId>
						<version>${mysql.version}</version>
					</dependency>
					<!-- mybatis generator core 依赖 -->
					<dependency>
						<groupId>org.mybatis.generator</groupId>
						<artifactId>mybatis-generator-core</artifactId>
						<version>1.3.7</version>
					</dependency>
					<!-- 将项目打包至本地仓库并添加依赖 -->
					<dependency>
						<groupId>com.xxxx</groupId>
						<artifactId>shop-generator</artifactId>
						<version>1.0-SNAPSHOT</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>

</project>

2、mybatis-generator.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 id="MysqlTables" targetRuntime="MyBatis3">
		<!-- 生成的Java文件的编码 -->
		<property name="javaFileEncoding" value="UTF-8"/>
		<!-- 增加Models ToStirng方法 -->
		<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
		<!-- 增加Models Serializable实现 -->
		<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>

		<!-- 分页插件 -->
		<!-- 在example类中增 page 属性,并在mapper.xml的查询中加入page !=null 时的查询 -->
		<!-- <plugin type="org.mybatis.generator.plugins.MySQLPagerPlugin" /> -->
		<!-- 在example类中增 offset和limit属性,并在mapper.xml的查询中加入limit ${offset} , ${limit} 提供在offset和limit>0时的查询 -->
		<!-- <plugin type="org.mybatis.generator.plugins.MySQLPaginationPlugin"></plugin> -->

		<!-- 是否去除自动生成的注释 true:是 : false:-->
		<!-- type指定生成注释使用的对象 -->
		<commentGenerator type="com.xxxx.generator.ShopCommentGenerator">
			<property name="suppressAllComments" value="false"/>
		</commentGenerator>

		<!-- mysql数据库连接配置 -->
		<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
		                connectionURL="jdbc:mysql://localhost:3306/shop?"
		                userId="root" password="abc123">
		</jdbcConnection>

		<!--
			是否忽略BigDecimals 非必填项
				自动生成Java对象的时候,会根据number类型的长度不同生成不同的数据类型
					number长度   Java类型
					1~4          Short
					5~9          Integer
					10~18        Long
					18+          BigDecimal
		 -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false"/>
		</javaTypeResolver>

		<!-- 以下内容,需要改动 -->
		<!-- java类生成的位置  -->
		<javaModelGenerator targetPackage="com.xxxx.generator.pojo" targetProject="src/main/java">
			<!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
			<property name="enableSubPackages" value="true"/>
			<!-- 从数据库返回的值去除前后空格 -->
			<property name="trimStrings" value="true"/>
		</javaModelGenerator>

		<!-- *Mapper.xml配置文件生成的位置 -->
		<sqlMapGenerator targetPackage="com.xxxx.generator.mapper" targetProject="src/main/java">
			<!-- 是否让schema作为包后缀 -->
			<property name="enableSubPackages" value="true"/>
		</sqlMapGenerator>

		<!-- java mapper接口生成的位置(interface) -->
		<javaClientGenerator type="XMLMAPPER" targetPackage="com.xxxx.generator.mapper" targetProject="src/main/java">
			<!-- 是否让schema作为包后缀 -->
			<property name="enableSubPackages" value="true"/>
		</javaClientGenerator>

		<!--
			指定数据库表
				tableName数据库表名
				domainObjectName生成的实体类名
				是否需要mapper配置文件加入sql的where条件查询,需要将enableCountByExample等设为true,会生成一个对应domainObjectName的Example类
		 -->
		<table tableName="t_goods_category" domainObjectName="GoodsCategory"
		       enableCountByExample="false" enableDeleteByExample="false"
		       enableSelectByExample="false" enableUpdateByExample="false">
			<!-- 用于insert时,返回主键的编号 -->
			<generatedKey column="order_id" sqlStatement="MySql" identity="true"/>
		</table>

	</context>
</generatorConfiguration>

Example类

这里可以生成一个example类
什么是example类?
Mybatis-Plus的代码生成器可以自动生成一些基本的代码文件,其中包括了Example(查询条件构造器)类。如下是Example类的大致解释和用法:

Example类是在Mybatis-Plus中用于构建复杂条件查询的常用工具类,它是基于Wrapper(Lambda表达式构造器)来构造查询条件的。它可以帮助开发人员通过有条件的SQL查询获取到想要的数据结果。

Example类通常是由以下三个组成部分构成:

  1. QueryWrapper: 表示要查询哪个表,以及要查询哪些字段
  2. Criteria: 指定查询条件,包括大于、小于、等于等
  3. OrderBy: 指定要排序的字段以及排序方式

在使用Example类时,可以通过链式调用来构建查询条件,以达到更加灵活、简便的查询效果。

Example<User> example = new Example<>();
example.createCriteria().andEqualTo("name", "John").andBetween("age", 20, 30);
List<User> users = userMapper.selectByExample(example);

Example类是Mybatis-Plus中用于构建复杂条件查询的工具类。
它的构造规则如下:1. Example对象必须要指定泛型类型,以表明要查询的实体类。2. Example对象支持链式调用,可以使用Example.xxx().xxx()的方式来对查询条件进行设置。3. Example类的构造方法可以带有一个参数,即泛型类型。例如:Example example = new Example(User.class);

Example类中常用的方法:

  1. createCriteria():该方法通过调用Criteria类的方法来构建查询条件。返回值为Criteria类型的对象,可以通过该对象来添加查询条件。
  2. andXXX():该类方法用于添加查询条件,在这里XXX可以是大于、小于、等于等。例如:andEqualTo()表示等于,andBetween()表示在两个值之间。
  3. orderBy():该方法用于设置排序方式。例如:orderBy(“id”).asc()表示按id升序排序,orderBy(“id”).desc()表示按id降序排序。
  4. setDistinct():该方法用于设置查询结果是否去重。默认情况下,查询结果不去重。
  5. or():该方法用于设置OR查询条件。例如:or().andEqualTo(“name”, “John”).andBetween(“age”, 20, 30)表示根据name为"John"或者age在20到30之间的条件进行查询。
  6. selectProperties():该方法用于设置查询结果中的字段。例如:selectProperties(“id”, “name”)表示只查询id和name两个字段的数据。
  7. isDistinct():该方法用于判断查询结果是否去重。
  8. getOrderByClause():该方法用于获取查询结果的排序方式。需要注意的是,Example类可以和Wrapper类(Lambda表达式构造器)配合使用来构建更加复杂的查询条件。在使用时,可以根据实际需求进行灵活选择。

Criteria类是Example类的内部类,作为Example类的一部分用于构建查询条件。它提供了丰富的方法,用于设置查询条件

Mybatis代码生成器的问题

生成的类型不一定是我们想要的。

如将tinyint类型生成了Boolean,但实际上我们要存的是byte
tinyint 类型在 MySQL 中表示一个 8 位的整数类型,范围为 -128 到 127。在 Java 中,可以将 tinyint 数据类型与 byte 或 Byte 类型对应。
如果数据库中的 tinyint 类型是用于表示布尔值(例如 0 表示 false,1 表示 true),则可以将其与 boolean 或 Boolean 类型对应。由于 Java 中的 boolean 类型只有 true 和 false 两个取值,因此需要在程序中对 tinyint 的值进行转换。通常情况下,将 0 视为 false,非 0 值视为 true。

数据库和java对象类型对应表

Mybatis-plus 代码生成器文章来源地址https://www.toymoban.com/news/detail-427216.html

到了这里,关于Mybatis-plus 代码生成器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mybatis-Plus 代码生成器,自定义模板Demo,快速搭建!!

    详细信息以及具体配置方法解析–》官方文档:https://baomidou.com/ velocity 和 freemarker 选择导入,velocity 对应vm的模板,freemarker 对应flt模板,自定义模板,需要将导入进的配置下的模板复制到自己项目的resource下 01:Mybatis-Plus 下的模板 02:自己项目 resource 新建 templates 03:maven:

    2023年04月19日
    浏览(50)
  • 【MyBatis-Plus】DML编程控制 代码生成器(文末赠书)

    查询相关的操作我们已经介绍完了,紧接着我们需要对另外三个,增删改进行内容的讲解。挨个来说明下,首先是新增(insert)中的内容。 1. id生成策略控制 前面我们在新增的时候留了一个问题,就是新增成功后,主键ID是一个很长串的内容,我们更想要的是按照数据库表字段

    2024年02月13日
    浏览(45)
  • Java:mybatis-plus-generator-ui 基于Mybatis-Plus的代码自助生成器

    引用官方文档上的简介: 提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等 ,可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。 文档 github: https://github.com/davidfantasy/mybatis-plus-generator-ui gitee: https://g

    2024年02月10日
    浏览(53)
  • MyBatis-Plus 可视化代码生成器来啦,让你的开发效率大大提速!!

    在基于Mybatis的开发模式中,很多开发者还会选择Mybatis-Plus来辅助功能开发,以此提高开发的效率。虽然Mybatis也有代码生成的工具,但Mybatis-Plus由于在Mybatis基础上做了一些调整,因此,常规的生成工具生成的代码还有一些不太符合预期。而且对于多数据库的支持不是很好。

    2024年02月05日
    浏览(63)
  • 代码生成器-mybatis-plus-generator

    我们平时在开发的过程中,对于新建的一张表难免会有对其进行增删改查的操作,而且还要写Controller、service、Mapper、Mapper.xml、PO、VO等等。如果每次都要去写这些跟业务毫不相干但是却又耗时耗力的重复代码这不仅是让开发人员不能专注于业务逻辑甚至可能由于不注意导致字

    2023年04月25日
    浏览(47)
  • springboot的代码生成器mybatis-plus-generator-ui

    GeberatorUIServer 在springboot的test中运行 这段代码是一个用于生成 MyBatis-Plus 代码的工具类,进行解释: 这是一个名为 GeberatorUIServer 的类。 这是程序的入口方法,即 main 方法。 这段代码创建了一个 GeneratorConfig 对象,并使用链式调用的方式设置了一系列参数: jdbcUrl :数据库连

    2024年02月10日
    浏览(42)
  • mybatis-plus-generator-ui 可视化代码生成器!

    它提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等。 可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。 git地址 :https://github.com/davidfantasy/mybatis-plus-generator-ui 1、引入依赖 2、新建程序入口,以main函

    2024年02月08日
    浏览(60)
  • 5.6 Mybatis代码生成器Mybatis Generator (MBG)实战详解

    本文我们主要实战Mybatis官方的代码生成器:Mybatis Generator(MBG),掌握它以后,可以简化大部分手写代码,我们只需要写复杂逻辑代码! 通过前几篇,我们掌握了在SpringBoot下Mybatis的基本用法,操作步骤回顾一下: 创建与MySQL表对应的Java PO对象,字段一一对应; 创建Mapper接口,

    2024年02月05日
    浏览(44)
  • mybatis-generator代码生成器的使用与配置

    官网的MyBatis Generator使用介绍,请点击下面的链接: 链接 MyBatis Generator 生成的文件包含三类: (1)Model实体文件,一个数据库表对应生成一个 Model 实体; (2)Mapper接口文件,数据数操作方法都在此接口中定义; (3)Mapper XML配置文件 在pom.xml文件添加如下依赖: 代码如下

    2024年02月14日
    浏览(41)
  • 如何利用Mybatis-Plus自动生成代码(超详细注解)

    1、简介 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性

    2024年02月01日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包