JFinal一行代码搞定增删改,要的就是快

简介: 一、拓展篇首先需要重写getModel方法,但是这有个问题,重写之后的方法和getModel的参数有点冲突,所以选择不重写,另外写个方法占且叫getBaseModel吧,getBaseModel的实现如下/** * * @Description: 基础类扩展,实现在一些快速的一步操作 ...

一、拓展篇

首先需要重写getModel方法,但是这有个问题,重写之后的方法和getModel的参数有点冲突,所以选择不重写,另外写个方法占且叫getBaseModel吧,getBaseModel的实现如下

/**
 * 
 * @Description: 基础类扩展,实现在一些快速的一步操作
 * @author lianghao
 * @date 2016年2月26日 下午3:02:04
 */
public class BaseController extends Controller {
    
   public <T extends Model<?>> T getBaseModel(Class<?> modelClass, String... removeParas) {
        T model = null;
        try {
            model = (T) modelClass.newInstance();
        } catch (Exception e) {
            logger.error("baseController init exception" + e);
        }
        Map<String, String[]> parasMap = getParaMap();
        Map<String, String> removeParasMap = new HashMap<String, String>();
        for (String para: removeParas) {
            removeParasMap .put(para, para);
        }
        for (Entry<String, String[]> e : parasMap.entrySet()) {
            if (removeParasMap.containsKey(e.getKey()))
                continue;
            if (e.getValue()[0] != null)
                model.set(reqParaFormat.paraToFormat(e.getKey()), e.getValue()[0]);

        }
        return model;
    }
}

这里面有两个方法去转换参数格式,如果请求的参数是根据自己的需要实现不同的转换,我这边以请求的是驼峰转成数据库的大写如userName转成USER_NAME,具体的实现可以根据自己的需求做封装,有了这个BaseModel增改就很方便了,扩展如下

public boolean save(Class<?> modelClass, String... keys){
      Model model = getBaseModel(modelClass, keys);
      return model.save();
}

public boolean update(Class<?> modelClass, String... keys){
      Model model = getBaseModel(modelClass, keys);
      return model.update();
}
/**
必须传入主键id
**/
public boolean delete(Class<?> modelClass, String... keys){
      Model model = getBaseModel(modelClass, keys);
      return model.delete();
}

这样就搞定了

使用篇

完成了上面的扩展,使用时,只要把你的Controller继成你的BaseController,就可以了,使用如下,一步增删改

/**
后面参数加入不属于这个表的参数过滤,如果没有就不加
**/
save(User.class, "test");
update(User.class);
delete(User.class);

又节省了你的开发时间,只需一行代码就搞定了增删改,妈妈再也不用担心我的学习

相关文章
|
7月前
|
SQL Java 数据库连接
JAVAEE框架技术之7-myBatis ORM框架入门基础CRUD
JAVAEE框架技术之7-myBatis ORM框架入门基础CRUD
171 0
JAVAEE框架技术之7-myBatis ORM框架入门基础CRUD
|
7月前
|
SQL 安全 Java
Javaweb之Mybatis的基础操作之删除的详细解析
Javaweb之Mybatis的基础操作之删除的详细解析
80 0
|
Java 数据库 Spring
Spring Boot入门(十八) 之 restfulCURD与普通curd的区别
Spring Boot入门(十八) 之 restfulCURD与普通curd的区别
|
SQL XML 存储
深入学习 Mybatis 的四大组件源码
Mybatis 的四大组件包括....
132 0
深入学习 Mybatis 的四大组件源码
|
Java 数据库连接 mybatis
MyBatis注解开发多表代码操作——手把手教你实战操作(上)
MyBatis注解开发多表代码操作——手把手教你实战操作
133 0
MyBatis注解开发多表代码操作——手把手教你实战操作(上)
|
SQL Java 数据库连接
MyBatis注解开发多表代码操作——手把手教你实战操作(下)
MyBatis注解开发多表代码操作——手把手教你实战操作
156 0
MyBatis注解开发多表代码操作——手把手教你实战操作(下)
|
SQL XML Java
SpringBoot + Mybatis系列教程之 CURD 基本使用姿势
mybatis 作为数据的 ORM 框架,在国内的应用市场还是非常可观的,当初刚开始工作时使用 spring + mybatis 进行开发,后来也使用过 hibernate, jdbctemplate, jooq,mybatisplus 等其他的一些框架, 就个人使用感触来讲 jooq 的使用姿势和写 sql 差不多,基本上可以会写 sql 的无需额外的培训,立马可以上手;
371 0
SpringBoot + Mybatis系列教程之 CURD 基本使用姿势
|
XML SQL Java
SpringBoot + Mybatis系列之CURD基本使用姿势-注解篇
上面一篇博文介绍了mybatis + xml配置文件的使用方式,在上文中介绍到,xml文件是可以省略掉的,直接使用java注解来实现CURD,接下来我们看一下,如何使用注解来实现等同的效果
317 0
SpringBoot + Mybatis系列之CURD基本使用姿势-注解篇
|
Java 数据库连接
【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例(2)
【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例
256 0
【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例(2)
|
Java 数据库连接 数据库
【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例(1)
【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例
186 0
【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例(1)