mybatis中,如何把语句的临时数据也写入到日志文件?

假设有一个用户实体类User,有name和age,还有一个userNo,这个userNo是个序列

假设想尽量一步到位,也就是不弄个专门获取序列userNo的语句预先查询,语句直接是insert into users select userNo,name,age from dual这种

如果每插入一条写一个日志,logger.info("已添加用户信息:"+User),那么日志里的userNo这个字段会变成null

请问mybatis能做到语句中的临时字段反哺到代码里吗,这样userNo也能写入日志了?

sql 日志,打印执行的每条 sql 就可以看到。

你用的应该是Oracle
在JAVA中,这个应该是没法实现的,另外你这么写也是不对的。
标准INSERT TABLE(COLUMNS) VALUES(?) 这样的写法。你用了from dual而不用标准insert可能导致性能差了几十倍。
其次你这样的写法可能导致硬解析。导致这个语句至少慢几百倍。
所以建议你是先生成对应的值,然后再用绑定变量的形式来处理INSERT。