我们在SpringBoot的开发过程中,有的时候,增加了一些新的表的话,我们需要生成新的Entity Java类和DAO已经Service;那么有没有一种工具,能够帮我们自动生成代码?笔者亲自测试了一下,感觉下面这款工具还挺不错的!现推荐给大家!
CodeMan的使用代码地址,https://gitee.com/zrxjava/codeMan;项目名称CodeMan,作者为小螺旋丸。
有Window和Mac的安装版本,其安装版本可以到下面的地址下载;
https://gitee.com/zrxjava/code_generator_v201
下载完后,可以进行安装;安装的时候其会要求输入激活码,大家请关注下面的公众号,然后在公众号里面留言:激活码获取 其会自动给你发来激活码!
以Windows版本为例子,解压缩后,直接双击“codeMan.exe”,就可以生成代码了!
Step1. 配置你的数据连接
Step2 填写项目名称和选择配置:SpringBoot程序,前后端分离,Vue前端
Step3 选择要生成Entity和DAO类的表和字段,包括主键字段
Step4 点击生成代码
Step5 导入生成的代码
Step6 查看代码
生成代码的还是很规范的,Controller层,Service层,DAO层,Entity层
以DemoRoleServiceImpl.java为例子,其会生成基本的CRUD的代码
package helloworlddemo.service.impl;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import helloworlddemo.dao.DemoRoleDao;
import helloworlddemo.service.DemoRoleService;
import helloworlddemo.entity.PageData;
import helloworlddemo.utils.ExcelUtil;
import helloworlddemo.utils.PageUtil;
import java.util.linkedHashMap;
import helloworlddemo.entity.DemoRoleEntity;
import java.util.List;
import java.util.Map;
@Service
public class DemoRoleServiceImpl implements DemoRoleService {
private final DemoRoleDao dao;
@Autowired
public DemoRoleServiceImpl(DemoRoleDao dao) {
this.dao = dao;
}
@Override
public void add(DemoRoleEntity entity) {
dao.add(entity);
}
@Override
public void delete(DemoRoleEntity entity) {
dao.delete(entity);
}
@Override
public void update(DemoRoleEntity entity) {
dao.update(entity);
}
@Override
public List select(DemoRoleEntity entity) {
return dao.select(entity);
}
@Override
public PageData likeSelect(DemoRoleEntity entity) {
return PageUtil.getPageData(entity, dao);
}
@Override
public void exportExcel(DemoRoleEntity entity, HttpServletResponse response) {
// 获取头部信息(可以设置为动态)
String[] headList = new String[] { "id", "role_name", "role_code", "description"};
String[] headEngList = new String[]{ "id", "roleName", "roleCode", "description"};
String[] describeList = new String[] { "", "", "", ""};
//设置头部以及描述信息
Map headAndDescribeMap = new linkedHashMap<>();
for (int i = 0; i < headEngList.length; i++) {
headAndDescribeMap.put(headEngList[i], describeList[i]);
}
ExcelUtil.exportExcel(entity, response, dao, headList, headAndDescribeMap);
}
}
Step7 启动项目
Step8. 打开Swagger的UI
http://127.0.0.1:8080/helloworlddemo/swagger-ui.html
Step9. 打开登录页面 http://127.0.0.1:8080/helloworlddemo/views/login.html
很可惜登录不进来!那么原因是什么呢? 因为其默认需要在数据表里面有一个user表;
user表里面有两个字段name和password;回到数据库,插入上面的表;
CREATE TABLE demo."user" ( id int8 NULL, "name" varchar NULL, "password" varchar NULL );
插入一条数据
另外如果你的数据看是PostgreSQL,在源代码的loginMapper.xml文件里面加入namespace的前缀,比如笔者的namespace前缀是demo,然后重新启动!
Step10. 恭喜你,登录成功!
其他生成代码的工具如下,仅仅供参考:
-
SPTools: SPAdmin 目前有1.4k的star
https://gitee.com/52itstyle/SPTools
-
renren 代码生成
https://gitee.com/renrenio/renren-security



