分享一個本身寫的JFinal的BaseController (2)

分享一個本身寫的JFinal的BaseController (1)java

通過@JFinal 的提示,改進了下BaseControllerspa

 

 

================================.net

3月10號又有改進code

分享一個本身寫的JFinal的BaseController (3) blog

 ================================get

 

 

直接是上 BaseController 的代碼io

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import com.jfinal.core.Controller;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Model;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
public class BaseController<M extends Model<M>> extends Controller {
 /**
  * 獲取M的class
  * 
  * @return M
  */
 @SuppressWarnings("unchecked")
 public Class<M> getClazz() {
  Type t = getClass().getGenericSuperclass();
  Type[] params = ((ParameterizedType) t).getActualTypeArguments();
  return (Class<M>) params[0];
 }
 /**
  * 通用分頁查找
  */
 public void getByPage() {
  Page<Record> list = Db.paginate(getParaToInt("pageNumber"),
    getParaToInt("pageSize"), "select *", "from "
      + getClazz().getSimpleName() + " order by id desc");
  renderJson(list);
 }
 /**
  * 通用查找所有
  */
 public void getAll() {
  renderJson(Db.find("select * from " + getClazz().getSimpleName()
    + " order by id asc;"));
 }
 /**
  * 通用根據id查找
  */
 public void getById() {
  renderJson(Db.findById(getClazz().getSimpleName(), getParaToInt("id")));
 }
 /**
  * 通用新增
  * 
  * @throws Exception
  */
 public void save() throws Exception {
  renderText(getModel(
    ((Model<?>) Class.forName(getClazz().getName()).newInstance())
      .getClass()).save()
    + "");
 }
 /**
  * 通用修改
  * 
  * @throws Exception
  */
 public void update() throws Exception {
  renderText(getModel(
    ((Model<?>) Class.forName(getClazz().getName()).newInstance())
      .getClass()).update()
    + "");
 }
 /**
  * 通用刪除
  * 
  * @throws Exception
  */
 public void delete() throws Exception {
  renderText(getModel(
    ((Model<?>) Class.forName(getClazz().getName()).newInstance())
      .getClass()).delete()
    + "");
 }

 

 而後 Controller 的代碼以下class

public class CardController extends BaseController<Card> {
}

 

這樣 CardController 就自動有了基本的增刪改查功能了!import

相關文章
相關標籤/搜索