M findFirst(String sqlObject... paras) { List<M> result = .find(sqlparas)result.size() > ? (Model)result.get() : }
在jfinal的持久层中,获取单个数据,官方只提供了一个findFirst方法,当然这个名称没有什么问题,因为从字面意思就是取第一个的意思。但是我建议还是需要提供一个类似findOne的方法,用于【严格】的取一条数据。
我的观点是:既然开发者已经选择了获取一条数据,那么应该给开发者一个选择空间,到底是想取第一条,还是想取唯一一条,如果想取唯一一条,那么查询出多个的时候就应该抛出异常,而不是使用findFirst方法获取第一个。如果所有场景都使用findFirst而不抛出异常,则会造成数据问题。