2017-12-23 16:11

jfinal 老项目但又不想升级到新版本的福音,除此之外,这个项目还可以用在任何需要动态生成 sql 与 para 的场景,感谢分享

2017-12-23 16:08

进步神速,从刚入手这么快就有分享出来了。感谢你的分享

此外,建议去掉下面这行代码:
arp.setBaseSqlTemplatePath(PathKit.getRootClassPath());

改成下面这行:
arp.getEngine().setSourceFactory(new ClassPathSourceFactory());

改成上面这行的好处是,即便你的模板打包到 jar 包都可以读到

2017-12-23 13:22

@JJfinal 为什么两次 arp.setBaseSqlTemplatePath(...)

而 addSqlTemplate(...) 一次都没有

2017-12-23 11:42

这行代码尤其妙:
arp.getEngine().setSourceFactory(new ClassPathSourceFactory());
jfinal 3.3 手册也得改成你分享的这个代码

绝大部分 spring 中使用 jfinal 的都是想用 ActiveRecordPlugin 与 Enjoy,分享很详细,点赞收藏,感谢分享

2017-12-23 11:36

@JJfinal 注意看你的 #include("user.sql") 这行是处在 #namespace("user") 之中的,自然会有一个 namespace

2017-12-23 11:35

@JJfinal 你设置了 namespace,所以得这样:
getSql("user.alluser") 得有一个 namespace 前缀,手册里面有说明

2017-12-23 10:29

@JJfinal sql 管理功能超级好用的,现在好多小伙伴都离不开了,模板引擎生成 sql 是极其自然方便的事情,比 XML 管理 sql 方便几个数量级

2017-12-23 10:17

可以是任意多个 *.sql 文件,然后调用多次 addSqlTemplate(...) 方法分别添加进去。

也可以看一下 5.11.7 章节的最佳实践,创建一个总的 all.sql 文件,然后用 #include 指令将各个子的 *.sql 包含进来,这样只需要调用一次 addSqlTemplate("all.sql") 即可

注意,下面的 all.sql 可以随便取名,上面仅为示例

2017-12-22 21:59

必须要有主键,但主键名可以是任意合法的标识符,例如主键名可以是 asset_id

如果主键名不是 "id" 时,需要在映射时指定一下:
activeRecordPlugin.addMapping("asset_category", "other_id_name", AssetCategory.class);

建议直接使用 jfinal 的后成器来生成这些代码,生成器会自动反射得到 "other_id_name" 这种 meta 信息

生成器在首页可以下载 jfinal demo 这个项目中得到

2017-12-22 21:34

@孤独の自由 我特意看了一下,这里的 https 是指你的程序请求微信平台时的那个 url 中要使用 https,而不是你自己的应用要使用 https

2017-12-22 18:30

补充一下,即便要强制使用 https,那也是 jfinal weixin 无法干预的事情,因为回调用的 URL 是你自己配置的,不在 jfinal weixin 所关注的范围内

2017-12-22 18:29

@孤独の自由 我以为你说对方的服务器升级为 https,你说的这个自己的回调 url 设置为 http 这个事我并不知道,应该不会强制这么做,否则这个影响范围太大了

微信公众平台与项目通信本来就有了信息加密的功能,只要appid 与 密钥不泄漏出去,用 http 也是可以的

2017-12-22 18:26

通过 ControllerFactory 来让 jfinal 整合 spring 是目前最好方案,用拦截器的话,可以被 @Clear 注解清除掉

代码十分简洁,感谢你的分享

2017-12-22 18:17

jfinal weixin 一直用的 https ,为何还会有此一问?

access_token 并不是刷开放平台的,那是刷哪里的? jfinal weixin 是微信公众号开发 SDK

2017-12-22 14:42

补充一点:不建议使用 CaseInsensitiveContainerFactory,而是用 jfinal 生成器生成驼峰型的 getter、setter 方法,自然就消解了这个问题

生成器可以在首页下载 jfinal demo,里头有一个 JFinalDemoGenerator