id 是主键
select id from t_user where user_state=1
以上SQL用NutDao 怎么写?
使用 dao.query(User.class,Cnd.NEW().and("user_state","=",1))会查询出所有的属性,效率有问题
求解?
用Daos.ext构建一下字段过滤的Dao示例
Daos.ext(dao, FieldFilter.create(User.class, "user_state")).query(User.class,Cnd.NEW().and("user_state","=",1));
自行封装一下就可以了
自定义SQL,然后用回调。
String sqls = "select id,name,password from t_user where user_state=1";
Sql sql = Sqls.create(sqls);
sql.setCallback(Sqls.callback.entities());
sql.setEntity(dao.getEntity(User.class));
dao.execute(sql);
List<User> users = sql.getList(User.class);
@projack1 如果只需要一个String属性, 那么 strs() 回调更省
//可以用Record类接收,如果你非要转换的话那就用下面的方法
/**对于只返回一个记录*/
String content="select id from t_user where user_state=@userstate";
Sql sql= Sqls.fetchRecord(content).setParam("userstate",1);
dao.execute(sql);
Record record= (Record) sql.getResult();
User user= record.toEntity(dao.getEntity(User.class));
/**返回多个记录**/
String content="select id,name,password from t_user where user_state=@user_state";
Sql sql=Sqls.queryRecord(content).setParam("user_state",1);
dao.execute(sql);
List<Record> lists=sql.getList(Record.class);