废话不多说直接上代码。
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)); } }
相关推荐
2. ActiveRecord模式:集成ActiveRecord插件,提供了强大的数据库操作能力,无需编写SQL语句即可实现数据的增删改查。 3. Ioc(Inversion of Control):通过依赖注入,实现了组件间的解耦,使得代码更加灵活。 4. ...
在Web开发中,CRUD通常对应着用户界面的增删改查功能。在JFinal框架下,实现这些功能并不复杂。例如,创建(Create)可以通过POST请求新建一条数据,读取(Read)通过GET请求获取数据,更新(Update)使用PUT或PATCH...
2. 角色管理:角色是权限分配的基础,通过Jfinal实现角色的增删改查,结合Layui的分页功能,可以方便地管理大量角色数据。 3. 菜单管理:菜单是用户界面的导航结构,Jfinal可以通过动态路由实现菜单的动态加载,...
Model类是所有数据模型的基类,提供了增删改查等基本操作;Db类则封装了数据库查询和更新的通用API。 #### 六、缓存管理:EhCachePlugin与SpringPlugin 为了提高系统性能,JFinal提供了EhCachePlugin用于缓存管理...
- **数据库操作**:JFinal 的 ORM 插件提供了简单易用的数据访问接口,无需编写 SQL,即可完成数据的增删改查操作。 5. **最佳实践** - **模块化开发**:利用 JFinal 的插件机制,将项目拆分为多个模块,每个模块...
8. **blog** - 这可能是一个示例模块,展示了如何在JFinal中实现博客系统,包括文章的增删改查等功能。 9. **favicon.ico** - 网站的图标,显示在浏览器的地址栏或收藏夹中,提升网站识别度。 综上所述,"demo.rar_...
- **内置CRUD**: 提供了通用的增删改查操作,简化了日常的数据库交互。 - **SQLID查询**: 可以通过SQL ID执行特定的SQL查询。 - **PAGEQUERY查询**: 支持更复杂的分页查询操作。 - **更新语句**: 包括插入、更新和...