2019-04-28 18:33

问题是?

2019-04-28 16:50

通过下面的代码获取到 druid 的数据源 DruidDataSource 对象:
DruidDataSource ds = DruidPlugin.getDataSource()
然后找找 druid 的官方文档,对这个 DruidDataSource 对象进行一些配置

或者直接使用 druid ,对其配置好 ssl,然后这样传递给 ActiveRecordPlugin
arp = new ActiveRecordPlugin(druidDataSource)

因为 ActiveRecordPlugin 是可以直接接受任何 DataSource 实现类的

2019-04-28 15:19

@li7 这个改动是被逼的,因为3.6 之前基于 JDK 1.6 编译级别没任何问题,而 3.6 版本基于 JDK 1.8 编译级别以后出现类型转换错误

而出现错误的地方 jfinal 完全没动过代码,本质是 JDK 的兼容性问题

为了将升级 JDK 的问题损失降到最低,才添加了 findByIds

2019-04-28 14:06

@li7 这个是你自己封装过,改进起来更容易,只需要将最后一行代码:
return findById(vals)
改成:
if (vals.length == 1) {
return findById(vals[0]);
} else {
return findByIds(vals);
}

2019-04-28 11:12

@crazykids 你用的是 set 方法, 所以会报这个问题, 前面已经给出代码,要用:
put

2019-04-28 11:09

这里还有两个可以实现搜索的项目:
http://www.jfinal.com/project/35
http://www.jfinal.com/share/591

此外,据说 elastic search 还有 sql 插件可以直接使用

2019-04-28 10:50

如果你连 setter getter 也不想创建,可以这样用来:
model.put("url", url);
model.getStr("url");

2019-04-28 10:50

注意,不要创建属性,只需创建 public 的 getter、setter, 在其内部使用 put、get 方法即可存取

2019-04-28 10:49

如果你用 jfinal 官方的生成器,生成了 model 和 base model,只需要在最终的 model 中添加方法就可以:
public MyModel extends BaseMyModel {
public void setUrl(String url) {
put("url", url);
}

public String getUrl() {
return getStr("url");
}
}

2019-04-28 10:48

我记得 solr 是独立运作的一个服务,你的 jfinal 项目可以通过 http 调用这个独立运作的服务进行数据索引、查询

如果要整合到一个项目中去的话,或许只要将 http 调用的方式改成 jar 包内调用 API 的方式

在 jfinal 之下使用第三方,不用刻意去整合,只要你先学会用这个第三方,然后直接用到 jfinal 中就可以了

2019-04-28 09:24

@小KKK 为什么不按照文档和 demo 来?
https://gitee.com/jfinal/jfinal-weixin/blob/master/src/main/java/com/jfinal/weixin/demo/WeixinConfig.java

https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal-weixin%E4%B8%AD%E7%9A%84WeixinConfig%E9%85%8D%E7%BD%AE

2019-04-28 09:22

@li7 你的代码里面用了 findById(Object... idValues) 这个,在这个条件下,有两种情况:

1:你的代码确实有两个或更多主键,那么形如:
findById(id1, id2);
这种情况升级到 3.6 以后, eclipse 会提示错误,因为 3.6 的 findById 只接受一个参数,形如:
findById(id1);

2:你的代码确实只有一个主键,形如:
findById(id1);
这种情况,升级后完全没有影响,因为 findById 就是针对一个主键的功能,恰好吻合

因此,你上一个回复的问题肯定是不存在的。

2019-04-28 09:17

@小KKK 这些功能 jfinal weixin 中都是现成的,为什么要自己做呢?

SnsAccessTokenApi.java 很多 API 可以使用,一行代码的事

2019-04-27 18:32

access_token 获取后会被 jfinal weixin 缓存 7200 秒,正好这 7200 秒是微信平台给定的该 access_token 过期时间

你的项目无需关心 access_token 的缓存问题,是自动化完成的

如果你的每次获取 access_token 是不同的值,一定是你自己的代码有问题,例如多个项目在使用你手头的同一个公众号账号

这种情况下,只要某一个应用获取到 access_token,那么之前那个 access_token 即便在 7200 内,但也会失效,这个是微信平台的行为

总之,一个公众号的账号只能一个应用使用,除非你想办法让多个应用同时共享一份 access_token,例如使用 jfinal weixin 中的 RedisAccessTokenCache

具体文档:
https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal-weixin%E4%B8%AD%E7%9A%84WeixinConfig%E9%85%8D%E7%BD%AE

2019-04-27 13:34

Db.use(db).queryInt(sqlPara.getSql())
改成:
Db.use(db).queryInt(sqlPara.getSql(), sqlPara.getPara());