基于SpringBoot的代码自动生成

本文介绍了基于SpringBoot的代码自动生成方案,旨在规范开发、提高开发效率。内容包括使用的技术栈、背景需求、设计思路,如数据库连接、多数据源处理、逆向工程配置,以及模板引擎的应用。此外,还探讨了扩展性,如双表和多表操作的挑战。
摘要由CSDN通过智能技术生成

基于SpringBoot的代码自动生成

条目 条目说明
作者 田乐乐
版本号 v1.0
版本描述 新增

目录

使用技术

框架:SpringBoot、Mybatis/Mybatis-plus

其他:lombok、druid、velocity

一、背景

1、项目中多人开发,使用JDK1.6,IDE编译使用JDK1.5。一人使用1.6在项目上添加注解,部分使用1.5编译报错。

2、框架搭建,使用简单工厂创建Service对象。开发项目代码中存在不使用该框架单独创建对象操作。

3、DAO实现类中,对数据库表进行CRUD,使用Date替换HiveQL中相应的占位符,使用SimpleDateFormat对时间进行parse()操作,一定概率下会导致并发问题。

当微服务项目启动,使用JDK1.8解决了上述部分问题,但是有没有能够类似想方正平台简化部分开发呢?

二、需求

基于以上背景,现需要一套解决方案从而规范开发,提高开发效率。

实现目标:spring/springboot/springCloud项目代码自动生成。

三、优势

3.1、规范开发

代码自动生成带来的第一个好处就是开发规范,本身因为考虑是否是编译错误引起的不必要麻烦。

另外,使用JDK1.8,也算是从刚开始就解决了一些并发问题。比如在JDK1.8中java.time包新增一些类就对此种并发问题进行了解决——新日期时间API。

3.2、提高开发效率

3.2.1不再需要进行繁琐的手动逆向工程

虽然使用插件可以手动进行逆向工程(数据库表、字段生成对应的POJO、mapper;生成对应的DAO、Service及其实现、生成规则配置等),比如EasyCode。但是如果使用自定义代码,生成更多对应产物,可以更加方便的完成开发,提高开发效率,比如生成单元测试的json文件(为满足所有DAO、Service单元测试100%的覆盖率和单元测试单元测试本身语句覆盖率的70%使用)、快速开发产品化需要新增的SQL(为满足产品化新增页面)等等。

四、设计思路

4.1、数据库连接

在这里插入图片描述

pom.xml部分内容如下(依赖未做删减):

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version>
    <druid.version>1.0.28</druid.version>
    <commons.lang.version>2.6</commons.lang.version>
    <commons.io.version>2.5</commons.io.version>
    <commons.configuration.version>1.10</commons.configuration.version>
    <fastjson.version>1.2.45</fastjson.version>
    <velocity.version>1.7</velocity.version>
    <pagehelper.spring.boot.version>1.2.5</pagehelper.spring.boot.version>
    <mysql.version>5.1.38</mysql.version>
    <mssql.version>4.0</mssql.version>
    <oracle.version>11.2.0.3</oracle.version>
</properties>

<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>${mybatis.spring.boot.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>${druid.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>${commons.lang.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值