2019-01-10 21:02

SQL字符串 拼接 , 尾部需要加空格 ,不然评价出来 SQL 语句就连在一起了, 比如: ke_user uWHERE 这样的, 运行肯定报错啊, 这样的字符串拼接很难受的, 花上几分钟学习一下 5.13 SQL 管理与动态生成 , 这个拼接直观易懂, 你可以在 navicat中使用美化后的SQL, 粘贴到这里来,又美观又方便维护

2019-01-07 09:37

默认是每次反射出来的新对象。所以锁不住,应该锁在Service层

2019-01-04 13:40

@yuer_2018 每读一遍, 都能体会到不一样的东西, 我都不知道读多少遍了。。。

2019-01-04 09:32

"文档"不就是吗?读个七八遍, 再去码云读几遍源码, 再回来看文档, 再带着问题读几遍源码。。。我跟你讲!绝对玩的溜

2019-01-03 21:27

@yuer_2018 if (plugin.start() == false) 这一行呀

2019-01-03 20:57

@yuer_2018 嗯可以这么讲, 更确切的应该是 你手动调.start()是先执行的, 而 jfinal框架去调的时候是后执行的了

2019-01-03 20:06

服务和数据库连接地址等参数改为 127.0.0.1 了?不要用localhost , 试试?

2019-01-03 19:59

@yuer_2018 不是startPlugins, 是https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/plugin/activerecord/ActiveRecordPlugin.java 的start() 和
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/plugin/druid/DruidPlugin.java 的start()

2019-01-03 18:39

@yuer_2018 其实就算start() 多次也没有问题,因为里面有判断,保证只会启动一次,其次是 afterJFinalStart 被回调的时候, Plugins 里面已经被全部调start()了啊, 所以你可以直接在 afterJFinalStart 写 Model.dao.方法 没有问题的

2019-01-03 09:36

@nbjgl 比如写个独立线程 一直循环处理呗,不一定非得用某个插件, 或者写法, 根据实际情况来呗, 主要是提供一个处理方案和思路, 不要被某个具体东西束缚你的思维

2019-01-02 16:56

https://www.jfinal.com/doc/5-15
没有使用 dp.start();
arp.start();呗 , 话说, 你为什么要在 afterJFinalStart 中启动了?不在configPlugin(Plugins me)中了?

2019-01-02 16:39

如果是我设计的话:
1先让用户进行“加入”,标记为未组团。返回给前端为“组团中。。。”
2通过定时任务解析未组团的用户分页信息,一页一线程任务,本页用户按规则3人进行分组。
3通过短信或者站内信微信邮件等方式告知组队信息,前端轮询也可以

2018-12-29 23:19

@tang_mu_sheng 为啥不先校验表单了, 校验通过了再 清除 token 不就可以了吗

2018-12-29 23:17

@yuer_2018 这个看你业务怎么配置都可以, 规则你来定, 比如我的系统中有一个配置表 , 字段就是我各种配置的字段, 初始化的时候 就 dao.findById(1) 这样初始化一个对象, 如果修改配置的话, 也直接修改这个对象, 和保存数据库即可。
当然你还可以做一个类似与 KV 这样键值的表, 取到一个List的时候, for转成Map, 这样再取值也是非常方便的事情

2018-12-29 17:09

@yuer_2018 别整太多骚操作, 直接写个Model做承载就可以了, 然后需要配置的地方, 调用这个 Model 对象就可以了