Spring boot整合Mybatis-plus过程解析

 更新时间:2020年03月31日 15:16:54   作者:为了更美好的明天  
这篇文章主要介绍了Spring boot整合Mybatis-plus过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Mybatis初期使用比较麻烦,需要很多配置文件、实体类、dao层映射、还有很多其他的配置。初期开发使用generator可以根据表结构自动生产实体类、dao层代码,这样是可以减轻一部分开发量;后期mybatis进行大量的优化,现在可以使用注解版本,自动管理dao层和配置文件。

maven 依赖 注意:本文使用的是mysql,数据库依赖就不展示了

   <!-- 引入mvbatie -plus starter-->
	<dependency>
	  <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>2.3</version>
    </dependency>
   <!-- 模板引擎 mybatis使用code生成代码需要 -->
	<dependency>
		<groupId>org.apache.velocity</groupId>
		<artifactId>velocity-engine-core</artifactId>
		<version>2.0</version>
	</dependency>

代码模版引擎需要velocity或freemarker(mybatis-plus默认使用velocity,两者任选其一),这里使用velocity

代码生成器

	public static void main(String[] args) {
		CodeGeneration codeGeneration = new CodeGeneration();
		codeGeneration.execute();
	}
	
	/**
	 * 
	 * @ClassName: CodeGeneration
	 * @Description: 代码生成器
	 */
	public void execute() {
		AutoGenerator mpg = new AutoGenerator();
		// 全局配置
		GlobalConfig gc = new GlobalConfig();
		//生成的代码路径(系统路径)
		gc.setOutputDir("/Users/wangxiaowei/wxw/eclipseWorkSpace/study/src/main/java");
		gc.setFileOverride(true);
		gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
		gc.setEnableCache(false);// XML 二级缓存
		gc.setBaseResultMap(true);// XML ResultMap
		gc.setBaseColumnList(false);// XML columList
		gc.setAuthor("wxw");// 作者

		// 自定义文件命名,注意 %s 会自动填充表实体属性!
		gc.setControllerName("%sController");
		gc.setServiceName("%sService");
		gc.setServiceImplName("%sServiceImpl");
		gc.setMapperName("%sDao");
		gc.setXmlName("%sMapper");
		mpg.setGlobalConfig(gc);

		// 数据源配置
		DataSourceConfig dsc = new DataSourceConfig();
		dsc.setDbType(DbType.MYSQL);
		dsc.setDriverName("com.mysql.jdbc.Driver");
		dsc.setUsername("xxx");//数据库用户名
		dsc.setPassword("xxx");//密码
        //数据库路径
		dsc.setUrl(
				"jdbc:mysql://localhost:30870/horus_dev?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true");
		mpg.setDataSource(dsc);

		// 策略配置
		StrategyConfig strategy = new StrategyConfig();
		strategy.setTablePrefix(new String[] { "" });// 此处可以修改为您的表前缀
		strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
		// 需要生成的表的名称,这里app_user_info即为表名
		strategy.setInclude(new String[] { 
			"app_user_info",	
		});

		strategy.setSuperServiceClass(null);
		strategy.setSuperServiceImplClass(null);
		strategy.setSuperMapperClass(null);

		mpg.setStrategy(strategy);

		// 包配置
		PackageConfig pc = new PackageConfig();
		pc.setParent("com.wang.study");//父包,下面的子包均在这父包之下
		pc.setController("controller");//上面生成的controller类 放到controller子包
		pc.setService("service");//上面生成的service 放到service子包,下面类似
		pc.setMapper("dao");
		pc.setEntity("pojo");
		pc.setXml("mapper");
		mpg.setPackageInfo(pc);

		// 执行生成
		mpg.execute();
	}

mybatis 基础配置(这里使用的properties)

#数据源
spring.datasource.url=jdbc:mysql://localhost:30870/horus_dev?useUnicode=true&characterEncoding=utf-8
spring.datasource.username =xxx
spring.datasource.password =xxx
spring.datasource.type =com.alibaba.druid.pool.DruidDataSource
#mapper文件
mybatis-plus.mapper-locations=classpath:com/wang/study/mapper/*.xml
#数据库表对应的实体类所在包
mybatis-plus.type-aliases-package=com/wang/study/pojo
#日志 打印sql
logging.level.com.wang.study.dao=debug

mybatis-plus 分页,在配置类里添加以下配置

 /**
   * mybatis-plus分页插件<br>
   * 文档:http://mp.baomidou.com<br>
   */
  @Bean
  public PaginationInterceptor paginationInterceptor() {
    PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
    paginationInterceptor.setDialectType("mysql");
    return paginationInterceptor;
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot 中常用注解及各种注解作用

    SpringBoot 中常用注解及各种注解作用

    本篇文章将介绍几种SpringBoot 中常用注解及各个注解的作用,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-03-03
  • java压缩zip文件中文乱码问题解决方法

    java压缩zip文件中文乱码问题解决方法

    这篇文章主要介绍了java压缩zip文件中文乱码问题的解决方法,需要的朋友可以参考下
    2014-07-07
  • Java替换int数组中重复数据的方法示例

    Java替换int数组中重复数据的方法示例

    这篇文章主要介绍了Java替换int数组中重复数据的方法,涉及java针对数组的遍历、转换、判断等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • Java数据结构之稀疏矩阵定义与用法示例

    Java数据结构之稀疏矩阵定义与用法示例

    这篇文章主要介绍了Java数据结构之稀疏矩阵定义与用法,结合实例形式分析了java稀疏矩阵的定义、运算、转换等相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • Java 中很好用的数据结构EnumSet

    Java 中很好用的数据结构EnumSet

    这篇文章主要介绍了Java 中很好用的数据结构EnumSet,EnumMap即属于一个Map,下文围绕主题展开详细内容,需要的小伙伴可以参考参考一下
    2022-05-05
  • 使用AbstractRoutingDataSource实现数据源动态切换的实例

    使用AbstractRoutingDataSource实现数据源动态切换的实例

    AbstractRoutingDataSource 是 Spring 框架提供的一个抽象类,用于实现动态数据源路由,这个类主要用于多数据源场景,其中可以根据不同的条件动态地切换到不同的数据源,本文给大家介绍了如何使用AbstractRoutingDataSource实现数据源动态切换,需要的朋友可以参考下
    2024-03-03
  • Spring中propagation的传播机制详解

    Spring中propagation的传播机制详解

    这篇文章主要介绍了Spring中propagation的传播机制详解,要搞懂事务的传播机制,那么就要明白逻辑事务中各个事务的关系,才能彻底理解事务传播特性,在Spring事务中,各个逻辑事务的关系可以是并列、覆盖或包含,需要的朋友可以参考下
    2023-12-12
  • Servlet实现简单的用户登录功能实例代码

    Servlet实现简单的用户登录功能实例代码

    这篇文章主要给大家介绍了关于利用Servlet实现简单的用户登录功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Mybatis generator mapper文件覆盖原文件的示例代码

    Mybatis generator mapper文件覆盖原文件的示例代码

    这篇文章主要介绍了Mybatis generator mapper文件覆盖原文件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的完美解决方法

    Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的完美解决方法

    Mac OS X 下基于 Java 的程序会出现中文标点输入无效的问题,在中文输入法状态,可以输入中文字,但输入中文标点最后上去的是英文标点.这篇文章主要介绍了Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的完美解决方法,需要的朋友可以参考下
    2016-10-10

最新评论