2020-08-12 09:07

@李通 自己学习倒腾了,当时是想做一个 和Tomcat 管理项目的启动|关闭|重启 操作来着。。。后来一报错,没倒腾出来,然后一想这玩意作用不大,就没有继续研究了,放一边了。。。

2020-08-12 09:03

@Dyci 每个表都简单封一下,那还不如统一封装一下了,比如: https://gitee.com/yun_final/JFinal-API/blob/master/src/main/resources/sql/common.sql

根据数据库表名生成也是可以的,可以读一下表字典生成器的代码,做个SQL生成器就可以了

2020-08-11 17:50

应该就是那个”关键的梗“的核代码了

2020-08-11 17:49

之前有用ServerSocket自建一个HTTP 服务然后提供了UndertowServer的restart服务,但是执行undertowServer.restart()老报错,然后一忙,又没有时间细看了。。。
看老师成功了,也就是说理论是可行的,我回头再细研究研究问题出哪里了。。
UndertowServer.jpg

2020-08-11 17:25

#define where(data)
where XXX
#end

2020-08-11 17:22

Enjoy SQL 模板
8、#define 指令
https://jfinal.com/doc/6-4

2020-08-11 12:23

因为DbKit:
private static Map<Class<? extends Model>, Config> modelToConfig

如果想改完数据库不重启就更新static Model字段,有好几种搞法,细腻一点的,可以搞一个控制器,然后请求执行刷新Model字段,Controller伪代码大致Action:
{
String tableName = get("tableName");
String className = get("className");
//String configName = get("configName");
List<Table> tableList = new ArrayList<Table>(1);
tableList.add(new Table(tableName, Class.forName(className)));
// DbKit.getConfig(configName)
new TableBuilder().build(tableList, DbKit.getConfig());
}
伪代码,没有测试,方向就是这个操作,可以试试

2020-08-10 18:11

包也不大啊。。。单说enjoy,这个在操作数据库时Sql模板管理还得用它了

2020-08-07 21:18

我记得还有两个变化,代码处理的比较多,一个是日志,一个是文件上传好像,当时菜鸡的很,看见eclipse满屏报错慌得一批。。。

2020-08-03 14:57

我当时也是这样想的。。。。 然后就模仿jfinal-club路由功能自己撸了一下API:
https://gitee.com/yun_final/JFinal-API

https://gitee.com/yun_final/JFinal-API/blob/master/src/main/java/com/yunfinal/api/service/doc/ApiDocService.java

List allActionKeys = JFinal.me().getAllActionKeys();

2020-07-28 20:36

貌似是DEBUG 模式,和项目搭建的方式有点问题,我本地eclipse和IDEA都用过没问题,用Cloud Studio 出一次问题,你可以参考一下,找找原因
https://jfinal.com/share/1400

2020-07-28 11:54

最简洁的还是, 直接传两个参数, 比如:Db.find(sql, a, a) 这样传两次。
还有如果只能穿一个参数的话,可以这样做:
Db.template(sql, Kv.by("a", a)).find();
sql的占位符就需要改成:#para(a) 这样子

2020-07-27 15:42

可以读一下源码,这样就不会迷惑了。 我来说说吧,
setThreadLocalConnection这个代码是在Config类的。
比如你用Db.find(String sql)这个类方法,那么它的调用链是 :
Db.find(sql) > (DbPro)MAIN.find(sql) > config.getConnection() > threadLocal.get()
看Connection conn是在最下层进行切换的。
所以上层MAIN对象是不变的,在它里面持有的Config config对象里面的ThreadLocal threadLocal进行操作的。

2020-07-27 15:27

@崔文斌 ajax 请求页面是吧? 后端使用 renderTemplate(”test.html”); 就可以了,不要renderJson。 实战项目可以看看 俱乐部里面 社区是咋用的https://jfinal.com/club