开源地址:
更新内容
1、增强sql输出,将条件参数带入到sql中便于开发和调试
快速了解 sqltoy-orm:
简要举例介绍(因篇幅问题部分举例):
@Autowired
private SqlToyCRUDService sqlToyCRUDService;
//基于对象保存
sqlToyCRUDService.save(staffInfo);
//基于对象更新(字段值为null的不会参与变更)
sqlToyCRUDService.update(staffInfo);
//深度变更,全部字段都参与变更
sqlToyCRUDService.updateDeeply(staffInfo);
//基于对象更新(制定强制修改的字段)
sqlToyCRUDService.update(staffInfo,new String[]{"staffName","onDuty"});
//基于对象更新
sqlToyCRUDService.saveOrUpdate(staffInfo);
//加载对象
sqlToyCRUDService.load(new StaffInfoVO("S190715009"));
//加锁获取对象
sqlToyCRUDService.load(new StaffInfoVO("S190715009"),LockMode.UPGRADE);
//判断对象是否唯一
sqlToyCRUDService.isUnique(staffInfo, "staffCode");
//deletedeleteAllupdateAllloadAll 等等不一一写完
//单表对象查询,直接传参模式
List staffVOs = sqlToyLazyDao.findEntity(StaffInfoVO.class,
EntityQuery.create().where("#[staffName like ?] #[ and status=?]").values("陈", 1).lock(LockMode.UPGRADE)
.orderBy("staffName").orderByDesc("createTime"));
//单表查询,对象传参模式
List staffVOs = sqlToyLazyDao.findEntity(StaffInfoVO.class,
EntityQuery.create().where("#[staffName like :staffName] #[ and status=:status]")
.values(new StaffInfoVO().setStatus(1).setEmail("test3@aliyun.com")));
//代码中链式查询并删除
Long deleteCount = sqlToyLazyDao.deleteByQuery(StaffInfoVO.class,
EntityQuery.create().where("status=:status").values(new StaffInfoVO().setStatus(1)));
//链式变更
Long updateCount = sqlToyLazyDao.updateByQuery(StaffInfoVO.class,
EntityUpdate.create().set("staffName", "张三").where("staffName like ? and status=?").values("陈", 1));
//sqltoy统一的规则就是直接传递sql语句或者对应的sqlId,并不是说sql只能写在xml中(推荐但不绝对)
findBySql(final String sqlOrSqlId, final String[] paramsNamed, final Object[] paramsValue,
final Class voClass)
//嫌弃上面的格式化传参也可以使用这样链式查询
sqlToyLazyDao.findByQuery(new QueryExecutor("sqltoy_order_search").names("orderId", "authedOrganIds")
.values(null, authedOrgans).resultType(DeviceOrderInfoVO.class));
我们对比一下mybatis的实现(同样的实现sqltoy是不是极为简洁直观?):
页面更新:2024-05-18
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号