备注
以下是使用sqltoy-orm以及sqltoy-plus框架进行查询对比,并且单表查询
代码
- 原生SQL
String sql = "select * from sys_user where #[is_deleted=:isDeleted] #[and is_menu=:isMenu] #[and menu_type=:menuType]";
Map<String, Object> params = new HashMap<>();
params.put("isDeleted", IsEnum.N.getCode());
params.put("isMenu", IsEnum.Y.getCode());
params.put("menuType", MenuTypeEnum.MENU.getCode());
List<SysUser> list = sqlToyHelperDao.findBySql(sql, params, SysUser.class);
- 实体查询模式
EntityQuery query = EntityQuery.create()
.where("#[is_deleted=:isDeleted] #[and is_menu=:isMenu] #[and menu_type=:menuType]")
.names("is_deleted", "is_menu", "menu_type")
.values(IsEnum.N.getCode(), IsEnum.Y.getCode(), MenuTypeEnum.MENU.getCode());
List<SysUser> list = sqlToyHelperDao.findEntity(SysUser.class, query);
- lambda模式
LambdaQueryWrapper<SysMenu> sysMenuWrapper = new LambdaQueryWrapper<>(SysMenu.class)
.select()
.eq(SysMenu::getIsDeleted, IsEnum.N.getCode())
.eq(SysMenu::getIsMenu, IsEnum.Y.getCode())
.eq(SysMenu::getMenuType, MenuTypeEnum.MENU.getCode());
List<SysMenu> list = sqlToyHelperDao.findList(sysMenuWrapper);
END
记录下为什么当初会选择lambda,原来是这样!!!