为了尽可能提高开发效率,按照自己的习惯写代码,进一步封装常见的sql查询,遇到1个问题.
举一个例子
通用的根据id删除方法(JFinal的deleteById是物理删除,不可取,delete非常慎重)
public boolean deleteById(Model model,Object id){
String tableName = getTableName(model);
Record record=Db.findById(tableName, id);
if(record==null){
return false;
}
String sql="update "+tableName+" set yn = ? where id = ?";
int affactedRows=Db.update(sql,YnEnum.YES.getCode());
return affactedRows == 1;
}
public String getTableName(Model model){
return model._getTable().getName();
}
但是Model的_getTable()是protected,作用域 小了额.
还比如,常见的count返回1个Long
select count(*) from table_name where...
还是需要获得model的表名.
只能直接传入 表名了吗?
项目:JFinal