`
郑州蘑菇云
  • 浏览: 5402 次
文章分类
社区版块
存档分类
最新评论

jfinal通用增删改查

 
阅读更多

废话不多说直接上代码。

package com.d3gh.web;

import java.lang.reflect.ParameterizedType;

import com.jfinal.core.Controller;
import com.jfinal.plugin.activerecord.Model;
/**
 * 
* @ClassName: BaseController 
* @Description: TODO(这里用一句话描述这个类的作用) 
* @author xsg xsg2006@126.com 
* @date 2015年2月6日 上午11:02:59 
* @param <T>
 */

public class BaseController<T> extends Controller{
	private final Class<T> classT; 
	
	@SuppressWarnings("unchecked")
	public BaseController(){
		this.classT = (Class<T>)( (ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
	}
	
	/**
	 * 
	  * save 方法 基类中的保存方法
	  * <p>注意提交的参数需要以这样的方式提交 xxxModel.name=</p>
	  * @return void
	  * @author xsg2006@126.com
	  * @date 2015年1月12日 下午4:52:15
	 */
	public void save(){
		Model<?> model = (Model<?>) getModel(classT);
		renderJson(model.save());
	}
	
	/**
	 * 
	  * delete 方法 基类中的删除方法
	  * <p>方法说明:提交参数时以 xxxModel.name=的形式进行提交</p>
	  * @return void
	  * @author xsg2006@126.com
	  * @date 2015年1月12日 下午5:03:33
	 */
	public void delete(){
		Model<?> model = (Model<?>) getModel(classT);
		renderJson(model.delete());
	}
	
	public void deleteById(){
		Model<?> model = null;
		Object id = null;
		try {
			model = (Model<?>) classT.newInstance();
		} catch (InstantiationException | IllegalAccessException e) {
			e.printStackTrace();
		}
		id = getPara("id");
		renderJson(model.deleteById(id));
	}
	
	public void queryById(){
		Model<?> model = null;
		Object id = null;
		try {
			model = (Model<?>) classT.newInstance();
			id = getPara("id");
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		}
		renderJson(model.findById(id));
	}
	
}

 

 

分享到:
评论

相关推荐

    Jfinal3.0文档+demo

    2. ActiveRecord模式:集成ActiveRecord插件,提供了强大的数据库操作能力,无需编写SQL语句即可实现数据的增删改查。 3. Ioc(Inversion of Control):通过依赖注入,实现了组件间的解耦,使得代码更加灵活。 4. ...

    jfinal demo

    在Web开发中,CRUD通常对应着用户界面的增删改查功能。在JFinal框架下,实现这些功能并不复杂。例如,创建(Create)可以通过POST请求新建一条数据,读取(Read)通过GET请求获取数据,更新(Update)使用PUT或PATCH...

    Jfinal-layui.rar

    2. 角色管理:角色是权限分配的基础,通过Jfinal实现角色的增删改查,结合Layui的分页功能,可以方便地管理大量角色数据。 3. 菜单管理:菜单是用户界面的导航结构,Jfinal可以通过动态路由实现菜单的动态加载,...

    JFinal-1.1.0 api

    Model类是所有数据模型的基类,提供了增删改查等基本操作;Db类则封装了数据库查询和更新的通用API。 #### 六、缓存管理:EhCachePlugin与SpringPlugin 为了提高系统性能,JFinal提供了EhCachePlugin用于缓存管理...

    jfinal的快速开发工具,将jar丢到escipe的plugins即可

    - **数据库操作**:JFinal 的 ORM 插件提供了简单易用的数据访问接口,无需编写 SQL,即可完成数据的增删改查操作。 5. **最佳实践** - **模块化开发**:利用 JFinal 的插件机制,将项目拆分为多个模块,每个模块...

    demo.rar_DEMO

    8. **blog** - 这可能是一个示例模块,展示了如何在JFinal中实现博客系统,包括文章的增删改查等功能。 9. **favicon.ico** - 网站的图标,显示在浏览器的地址栏或收藏夹中,提升网站识别度。 综上所述,"demo.rar_...

    BeetlSQL 2.10中文文档

    - **内置CRUD**: 提供了通用的增删改查操作,简化了日常的数据库交互。 - **SQLID查询**: 可以通过SQL ID执行特定的SQL查询。 - **PAGEQUERY查询**: 支持更复杂的分页查询操作。 - **更新语句**: 包括插入、更新和...

Global site tag (gtag.js) - Google Analytics