Java代码自动生成,生成前端vue+后端controller、service、dao代码,根据表名自动生成增删改查功能...

本项目地址:https://github.com/OceanBBBBbb/ocean-code-generator

 

项目简介

ocean-code-generator采用(适用):     ,并使用maven构建。
支持自动生成一个业务逻辑增删改查的后端controllerservicedao的代码,
前端列表查询和单条数据的增删改查的vue代码。
这里是后端代码,前端在https://github.com/OceanBBBBbb/ocean-code-generator-fe。
如果你不会前端,也可以通过swagger实现整个流程!

项目结构
  • apply 系统应用模块(系统启动入口)

    • config 配置类信息
    • app 系统应用的业务模块(我在里面自动生成了一个test应用,对应了它的增删改查业务)
    • resources 静态资源
      • config properties配置
      • template 模板文件,其中admin是后端代码模板,front是前端,auto-vue是临时放自动生成的前端代码
    • testfiles 放的是test测试生成的建表语句和其他
    • 其他配置
  • common 公共模块

    • exception 项目统一异常的处理
    • mapper mapstruct的通用mapper
    • swagger2 接口文档配置
    • utils 系统通用工具类
  • generator 系统代码生成模块

    • 一个单独整套的代码生成实现
使用说明
1.配置生成器

项目启动时,jpa将会在所连库自动创建ocean_gen_config表,这是代码生成配置表。 需要先配置这个表的信息。注意这里的前端文件生成路径是绝对路径。 

2.选择生成参数

然后自定义生成参数,哪些展示,展示为什么名,哪些需要支持精确或模糊查询等等。 

3.代码生成

请求生成代码接口,生成代码。

使用建议
新项目
当新建一个项目时,可以直接使用整个工程,再在apply里添加你的业务逻辑,实现快速开发。
只引入自动生成
  当只要引入自动生成时,将generator模块加入到你的项目子模块,将apply下的模版文件
引入到你的工程里,将common中用到的工具类,加入到你的工程中并供generator调用。
  这样就实现了将你的工程引入自动代码生成。可以修改模板ftl文件,自定义生成。
演示接口调用步骤和内容

1,/api/genConfig,查看生成器配置;
2,/api/genConfig,配置生成器;
3,/api/generator/tables,查询数据库表;
4,/api/generator/columns,查表字段信息;
5,/api/generator,根据表名和字段配置生成代码。

感谢

需要特别感谢eladmin项目,本生成器,很多内容抽离自该项目。
eladmin是一个非常强大的管理平台开源系统,项目地址:https://github.com/elunez/eladmin

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一个基于VueJava的分页功能实现的示例代码前端Vue代码: ``` <template> <div> <table> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> <tr v-for="person in persons" :key="person.id"> <td>{{ person.name }}</td> <td>{{ person.age }}</td> <td>{{ person.gender }}</td> </tr> </tbody> </table> <div> <button :disabled="page <= 1" @click="prevPage">上一页</button> <button :disabled="page >= totalPages" @click="nextPage">下一页</button> </div> </div> </template> <script> export default { data() { return { persons: [], page: 1, size: 10, totalPages: 0 }; }, mounted() { this.getPersons(); }, methods: { getPersons() { axios.get("/api/persons", { params: { page: this.page, size: this.size } }) .then(response => { this.persons = response.data.content; this.totalPages = response.data.totalPages; }) .catch(error => { console.error(error); }); }, prevPage() { if (this.page > 1) { this.page--; this.getPersons(); } }, nextPage() { if (this.page < this.totalPages) { this.page++; this.getPersons(); } } } }; </script> ``` 后端Java代码: ``` @RestController @RequestMapping("/api") public class PersonController { @Autowired private PersonRepository personRepository; @GetMapping("/persons") public Page<Person> getPersons( @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer size) { Pageable pageable = PageRequest.of(page - 1, size); return personRepository.findAll(pageable); } } ``` SQL语句: 如果您使用的是Spring Data JPA,则无需编写SQL语句,因为它会自动生成基于方法名的查询语句。如果您使用的是MyBatis等其他ORM框架,则可以根据不同的数据库编写不同的分页SQL语句。以下是一个MySQL数据库的分页查询SQL语句示例: ``` SELECT * FROM person LIMIT ?, ? ``` 其中,第一个问号表示从哪一行开始查询,第二个问号表示查询多少行数据,这两个参数可以由Java后端代码中的Pageable对象提供。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值