2021-04-25 09:47

1:是根据sql的select来确定对象里面有什么属性,和model中的setget没有关系。这个是JF的特性,一般用于连表查询,字段就会多出来的。所以是正常的。
2:返回的user只保留model中的那些字段,这个model中有方法的:
keep(String attr) //保留
keep(String... attrs)//保留多个
remove(String attr)//移出不要的
remove(String... attrs)//移出多个不要的
List需要遍历处理。可自建一个小工具类,进行批量处理。
3:batchSave时报错,这个是业务代码中有错误用法了,batchSave前肯定操作了model,
对本次返回的model操作时不能全部用set,因为你这里有部分字段并非user表的,
需要使用setOrPut(String attrOrNot, Object value),这个里面会自动判断是否需要写库。同时要注意batchSave会取第一条的set过的字段作为拼接SQL的字段,所以本次list中的model都需要是同样字段的操作,不然执行结果并非你想象的样子。

2021-04-23 13:55

Integer 本来就有null ,所以波总肯定不会改的,会影响其他人的。感觉自己业务合适,可以定制一下自己的返回值,我就是自己定制了queryBigDecimal 方便计算。
https://jfinal.com/share/2399 在后文中有介绍

2021-04-23 10:53

@张先生的jfinal DataSource是用来获取getConnection()的,至于内部是不是实现了连接池功能或是临时创建的Connection对象,这个是MyDataSource自己的事情。
看反馈内容:既然JF自带的DruidPlugin + Sqlite3Dialect不能连接,想自己创建Connection,那自然是自定义 DataSource了,可以先看看源码。
另外是不是可以先解密sqlite文件,再DruidPlugin + Sqlite3Dialect连接了?
我对sqlite操作不熟悉,不知道是不是有成熟的访问加密sqlite文件的工具了?
PS:附上一段伪代码:)
MyDataSource implements DataSource{
static {Class.forName("org.sqlite.JDBC");}
public Connection getConnection() throws SQLException {
return DriverManager.getConnection("jdbc:sqlite:test.db");
}
}

2021-04-22 18:55

自定义 DataSource就可以了
ActiveRecordPlugin arp = new ActiveRecordPlugin(new MyDataSource(...));

2021-04-22 11:14

@Moonights 纠正一下,HTTP请求也是后端的哦!

https://www.runoob.com/http/http-messages.html

2021-04-20 15:21

我们现有的方案是 复制JF的 Log4jLog,在中间复写自己的业务日志,代码里面都是全局位置Log log = Log.getLog(XXX.class)。
全局变量共享在拦截器configHandler配置的,里面也是通过ThreadLocal存放的。比如登录用户,请求路径target,参数,返回结果等等信息。

2021-04-19 10:54

巧了,我就喜欢分开用https://jfinal.com/share/1607
idea写java,HBuilderX写Enjoy模板。
他们都指向同一个文件夹就可以了。
idea的项目和模块源码输出路径直接指向:项目地址/WebRoot/WEB-INF/classes
如果用的是Tomcat开发,需配置部署根目录直接指向:项目地址/WebRoot
HBuilderX直接指向:项目地址/WebRoot
完美!

2021-04-18 13:09

MySQL那边有锁了吧,这个是业务操作问题,得看看业务代码的整体用法了。
如果不知道java这边哪个地方给加的锁,就从数据库那边追,https://www.cnblogs.com/guanbin-529/p/10993549.html

2021-04-18 13:04

https://www.eova.cn/qa

2021-04-14 13:54

我知道两个方案:
1:继承ActionHandler粘贴复制代码覆盖里面的 log.warn("404 Action Not Found: " https://jfinal.com/doc/2-7
2:如log4j.properties配置文件关闭WARN日志

2021-04-12 11:30

我有两个建议:
1:对第二个commonOrder增加一个s,commonOrders
2:使用 指令扩展 做一个#commonOrder 里面 extends Directive
exprArray.length 里面可以随意控制 https://jfinal.com/doc/6-4 》13、指令扩展

2021-04-10 20:42

自定义ActionHandler 了? 如果没有的话,需要处理一下,默认请求路径ActionHandler 不处理带 . 的资源,
if (target.indexOf('.') != -1) {
return ;
}
https://jfinal.com/doc/2-7
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/core/ActionHandler.java

2021-04-10 14:50

PS:构造器有:
RedisPlugin(String cacheName, String host)
RedisPlugin(String cacheName, String host, String password)
RedisPlugin(String cacheName, String host, int port)
RedisPlugin(String cacheName, String host, int port, String password)
RedisPlugin(String cacheName, String host, int port, int timeout)
RedisPlugin(String cacheName, String host, int port, int timeout, String password)
RedisPlugin(String cacheName, String host, int port, int timeout, String password, int database)
RedisPlugin(String cacheName, String host, int port, int timeout, String password, int database, String clientName)