model中的删除

在删除数据库中的数据时,只能先查出来存到model中,再调用model的delete方法么?能否直接根据条件执行delete sql语句?

评论区

JFinal

2017-08-17 12:17

有好多方法:
1:Db.update("delete from xxx where id = ?", idValue);
2:new MyModel().setId(id).delete();
3:Db.delete("tableName", new Record().set("id", idValue));

春风吹又生

2017-08-17 12:30

@JFinal 我看Jfinal底层的数据库处理中应该是用阿里巴巴的连接池做的,Db.update的调用方式会游离在线程池管理之外么?有的项目还会配置连接多个数据库,这种情况下是不是就不能区分调用的是哪个数据库了?

JFinal

2017-08-17 12:43

@春风吹又生 只要是使用 jfinal 操作数据库的 API,connection 对象都会在 finally 块中被 close() 掉并被连接池回收,不必担心

多数据库很多年前就支持了:
1:对于 model 来说,调用其上的任何方法,会自动查找该 model 所对应的连接池,也可以通过 model.use(configName) 来临时切换连接池/数据库
2:对于 Db 来说,可以通过 Db.use(configName) 来切换,用的时候通常这样:
Db.use(configName).find(sql, paras)

建议先看看 jfinal 手册,里面都描述过,能节省很多时间

春风吹又生

2017-08-17 14:05

@JFinal 嗯嗯,在第五章,看到了,多谢了~

热门反馈

扫码入社