# easy-web **Repository Path**: xiaoyudeguang/easy-web ## Basic Information - **Project Name**: easy-web - **Description**: easy-web,一款为springboot+mybatis+mysql开发者量身打造的开发利器,在程序热加载过程中也可以完成代码生成!减少重复性工作,快速完成代码编写,让web应用更easy! - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-01-05 - **Last Updated**: 2021-07-16 ## Categories & Tags **Categories**: code-generator **Tags**: None ## README ## 查看最新源码请移步[源码地址](https://gitee.com/xiaoyudeguang/easy-develop/tree/master/easy-web) || 查看最新教程请移步[教程地址](https://blog.csdn.net/qq_28802119/article/details/86614340) # easy-web ## 介绍 一款基于界面配置的代码生成工具。与其他开源项目的不同点是,只生成了后端代码,无论是前后端分离项目还是不分离项目,都可以轻松的接入。同时,封装了大量的基础性代码,极大地简化了开发过程。 ## 使用说明 #### Maven引用(点击 https://search.maven.org/search?q=g:io.github.xiaoyudeguang 查看最新版本) ``` io.github.xiaoyudeguang easy-web 3.1.8-RELREASE ``` ###### 配置数据源(在application.properties文件中配置) ``` #datasource config spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://数据库ip地址:3306/数据库名?useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.username=账号 spring.datasource.password=密码 ``` #### 生成代码 ##### 方式一:可视化生成代码(访问 http://localhost:8080/easy-code ) ![输入图片说明](https://images.gitee.com/uploads/images/2019/0123/170532_ef2ab6f4_1437817.png "在这里输入图片标题") ##### 方式二:通过@Configuration 和 @Bean注解注入 ``` @Configuration public class BeanConfiguration { @Bean public AbstractGenerator getBean1() { return new AbstractGenerator() { @Override public void afterPropertiesSet() throws Exception { this.tableName = "db_person"; this.entityName = "Person"; this.packageName = "com.zlyx.easytest.test"; ... 其他配置(以上三项是每次必须配置的选项)... } }; } @Bean public AbstractGenerator getBean2() { return new AbstractGenerator() { @Override public void afterPropertiesSet() throws Exception { this.tableName = "db_dept"; this.entityName = "Dept"; this.packageName = "com.zlyx.easytest.test"; ... 其他配置(以上三项是每次必须配置的选项)... } }.close(); } } ``` > 如果你想让这个Bean失效,只需要在return前调用AbstractGenerator对象的close()方法即可(第二个Bean对象例子)。 好了,到这里,如果你的springboot程序是热加载方式运行中的,选中你的项目刷新一下,应该就可以看到生成的代码了。如果还没启动呢,那就启动一下呗。之后,即使你不删除EasyGenerator类,也不会覆盖你已经生成的代码。 > easy-web默认引用了easy-log(项目地址:https://gitee.com/xiaoyudeguang/easy-log)。 > easy-web默认引用了easy-mybatis(项目地址:https://gitee.com/xiaoyudeguang/easy-mybatis) ## 生成代码效果: #### Controller类 ``` package com.zlyx.easytest.test.controller; import com.zlyx.easyswagger.annotations.SpringMapping; import com.zlyx.easyswagger.annotations.SpringController; import com.zlyx.easyweb.web.controller.AbstractController; import com.zlyx.easytest.test.service.PersonService; import com.zlyx.easytest.test.entity.Person; /** * 前端控制器 * @author easy-web 1316851612@qq.com * @date 2019-01-06 */ @SpringController(value = {"/person"}, todo = {"前端控制器"}) public class PersonController extends AbstractController { @SpringMapping(value = {"/demo"}, todo = {"easy-web示例方法"}, notes = "easy-web示例方法简介") public String demoMethod(){ return null; } } ``` #### Service接口 ``` package com.zlyx.easytest.test.service; import com.zlyx.easytest.test.entity.Person; import com.zlyx.easytest.test.mapper.PersonMapper; import com.zlyx.easyweb.web.service.AbstractService; /** * 服务类 * @author easy-web 1316851612@qq.com * @Date 2019-01-06 */ public interface PersonService extends AbstractService { } ``` #### Service实现类 ``` package com.zlyx.easytest.test.service.impl; import com.zlyx.easytest.test.entity.Person; import com.zlyx.easytest.test.mapper.PersonMapper; import com.zlyx.easytest.test.service.PersonService; import com.zlyx.easyweb.web.service.impl.AbstractServiceImpl; import com.zlyx.easyweb.annotations.SpringService; /** * 服务实现类 * @author easy-web 1316851612@qq.com * @since 2019-01-06 */ @SpringService(todo = "服务实现类") public class PersonServiceImpl extends AbstractServiceImpl implements PersonService { } ``` #### Mapper接口 ``` package com.zlyx.easytest.test.mapper; import org.apache.ibatis.annotations.Mapper; import com.zlyx.easytest.test.entity.Person; import com.zlyx.easyweb.web.mapper.AbstractMapper; /** * Mapper接口 * @author easy-web 1316851612@qq.com * @since 2019-01-06 */ @Mapper public interface PersonMapper extends AbstractMapper { } ``` #### Entity类 ``` package com.zlyx.easytest.test.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.time.LocalDateTime; import java.io.Serializable; import com.zlyx.easyweb.annotations.TableBean; /** * * @author easy-web 1316851612@qq.com * @since 2019-01-06 */ @TableBean(value = "test_person", todo = {"test_person实体类"}) @TableName("test_person") public class Person implements Serializable { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "person_id", type = IdType.AUTO) private Long personId; ...其他属性略... } ```