java单测自动生成_「Java」 - SpringBoot & 自动生成Repository类

MyBatis有MyBatis-Generator和MyBatis-Plus能够生成代码,但是对于JPA,上节的总结中,可以通过Hibernate连接db自动生成entity。对于一般的CURD操作,继承JpaRepository生成的方法就基本够用,网上搜了下,貌似没有自动根据entity生成repository的工具。

好在repository接口只是继承JpaRepository,并没有太多需要填充的代码,可以通过模板技术进行生成。

package top.cfish.searchhouse.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import top.cfish.searchhouse.entity.User;

public interface UserRepository extends JpaRepository<User, Integer>
{
    User findByName(String name);
    
    User findUserByPhoneNumber(String phoneNumber);
}

一、模板选取

velocity已不再维护,可以使用freemarker进行生成,但是在搜索时,发现了国人的一款模板框架Beetl,其实现在国人的开源作品越来越专业了,这次就选用Beetl。

8aaf004e050dde28fdd2895231bc8331.png
Beetl是一款6倍于Freemarker的超高性能的Java模板引擎,来自于中国!!BeetlSQL是一款功能强大,以SQL为中心,使用简单的全功能的ORMapping工具,支持自动生成代码,内置大量SQL语句,支持市面上绝大多数主流数据库。Beetl和BeetlSQL均能与目前市面上的大多数流行框架无缝整合。

7df3fc2a735ffb3d438eef2ed6d4ad80.png

二、基本使用

由于repository接口代码很简单,所以没有使用太多模板引擎的功能,更多的操作参考官网文档,http://ibeetl.com/guide/#beetl。

A、maven依赖

<dependency>
    <groupId>com.ibeetl</groupId>
    <artifactId>beetl</artifactId>
    <version>2.7.13</version>
</dependency>

B、工具类功能梳理

  1. 根据数据表的定义,通过Hibernate连接db自动生成entity实体类,放在entity包。
  2. 修改srcmainresourcesautocodebeetl.properties文件中的项目路径、包名、模板名称名等配置;
  3. 根据Beetl语法格式编写srcmainresourcesautocodetemplaterepository.txt模板;
  4. 通过BeetlUtil类中的main方法自动生成代码至repository包。

三、Code

这里就不大段大段贴代码了,参考:https://github.com/isisiwish/search-house。

a46ead120a1d248e07fbea83492e6752.png

以后有其他需求了,再对Beetl进行研习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值