web
数据库持久层
ebean modol
1: Model定义
@Entity @Table(name = "t_activity_feed_tag_r") public class FeedTagR extend Model { @Id @Column(name = "activity_feed_tag_r_id") private long feedTagRId; @Column(name = "activity_feed_id")
}private long feedId;@Transient //不进行与数据库列映射 private String sellingTimeConetent; @Formula(select = "(select count(distinct user_id) from t_user_wish_size v where v.is_deleted=0 and v.wish_goods_id = ${ta}.wish_goods_id)") //从另一个表查询 private Long finishedCount;public static Model.Finder<Long,FeedTagR>feedTagRFinder =new Model.Finder<Long,FeedTagR>(Long.class,FeedTagR.class);
2:查询
public static PagingList<WishGoods> getWishGoodsByGoodsName(String wishGoodsName,Paginator oldPaginator){ Paginator paginator = queryValidation(oldPaginator); return wishGoodsFinder.where().eq("is_deleted", 0).ilike("name", "%" + wishGoodsName + "%").orderBy(paginator.getSortBy() + " " +paginator.getOrder()).findPagingList(paginator.getPageSize()); }
3PagingList<WishGoods> wishGoodsPagingList;if(goodIdList != null ) { //只通过搭配Id查询 if(goodsName ==null){ wishGoodsPagingList = WishGoods.wishGoodsFinder.where().eq("is_deleted", 0).disjunction().add(Expr.in("real_goods_id", goodsListNotStartWithWP)).add(Expr.in("wish_goods_sn", goodsListStartWithWP)).orderBy(paginator.getSortBy() + " " +paginator.getOrder()).findPagingList(paginator.getPageSize()); } // 搭配和商品名称 else { wishGoodsPagingList = WishGoods.wishGoodsFinder.where().eq("is_deleted", 0).conjunction().add(Expr.or(Expr.in("real_goods_id", goodsListNotStartWithWP), Expr.in("wish_goods_sn", goodsListStartWithWP))).add(Expr.ilike("name", "%" + goodsName + "%")).orderBy(paginator.getSortBy() + " " + paginator.getOrder()).findPagingList(paginator.getPageSize()); } }disjunction 取并集conjunction 取交集4:事物处理Ebean.beginTransaction(); try { CommonError error = validation(entity); if(error.getCode()!=CommonError.OK.getCode()){ return ok(AdminResult.result(error)); } else if ((UserMapping.find.where().eq("user_id", userId).findList().size()>0) || (UserMapping.find.where().eq("cms_user_id", cmsUserId).findList().size() >0)) { return ok(AdminResult.result(CommonError.USERID_OR_CMSUSERID_EXIST_ERROR)); } entity.save(); userEntity.save(); Ebean.commitTransaction(); }catch (Exception e){ return ok(AdminResult.result(CommonError.SYS_ERROR)); }finally { Ebean.endTransaction(); } return ok(AdminResult.ok());5 写日志开头private static org.slf4j.Logger accessLogger = LoggerFactory.getLogger(AdminUserService.class);accessLogger.info("add:XXXXXXXXXX");日志 配置文件ogger.xml<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="30 seconds"> <appender name="OPERATOR" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${application.home}/admin_operator.log</file> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>100MB</MaxFileSize> </triggeringPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern> </layout> </appender> <root level="INFO"> <appender-ref OPERATOR"/> <appender-ref ref="FILE" /> </root> </configuration>
639

被折叠的 条评论
为什么被折叠?



