java mysql crud_为现有数据库开发Java CRUD的最佳框架是什么?

恕我直言,有一个很好的解决方案来管理应用程序数据,而无需编写任何额外的代码.

LightAdmin是一个可插拔的Java库,用于Spring / JPA支持的应用程序,它通过干净简单的UI提供标准的CRUD功能,过滤,JSR-303验证.

它提供用于界面定制的DSL,您可以随时从应用程序中插入/拔出它.

以下是DSL配置定制的一个小例子:

@Administration( Booking.class )

public class BookingAdministration {

public static ScopesConfigurationUnit scopes( final ScopesConfigurationUnitBuilder scopeBuilder ) {

return scopeBuilder

.scope( "All", all() )

.scope( "Smoking Apartments", specification( smokingApartmentsSpec( true ) ) )

.scope( "Non Smoking Apartments", specification( smokingApartmentsSpec( false ) ) )

.scope( "Long-term bookings", filter( longTermBookingPredicate() ) ).defaultScope().build();

}

public static FiltersConfigurationUnit filters( final FiltersConfigurationUnitBuilder filterBuilder ) {

return filterBuilder

.filter( "Customer", "user" )

.filter( "Booked Hotel", "hotel" )

.filter( "Check-In Date", "checkinDate" ).build();

}

public static FieldSetConfigurationUnit listView( final FieldSetConfigurationUnitBuilder fragmentBuilder ) {

return fragmentBuilder

.field( "user" ).caption( "Customer" )

.field( "hotel" ).caption( "Hotel" )

.field( "checkinDate" ).caption( "Check-In Date" )

.field( "smoking" ).caption( "Smoking" )

.field( "beds" ).caption( "Beds" )

.build();

}

public static DomainTypePredicate longTermBookingPredicate() {

return new DomainTypePredicate() {

@Override

public boolean apply( final Booking booking ) {

return booking.getNights() > 20;

}

};

}

public static DomainTypeSpecification smokingApartmentsSpec( final boolean isSmokingApartment ) {

return new DomainTypeSpecification() {

@Override

public Predicate toPredicate( final Root root, final CriteriaQuery> query, final CriteriaBuilder cb ) {

return cb.equal( root.get( "smoking" ), isSmokingApartment );

}

};

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值