发布网友 发布时间:2022-04-26 17:26
共3个回答
热心网友 时间:2023-10-17 06:09
Spring 修改配置:
//不在控制台打出SQL
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.use_sql_comments">true</prop>
log4j.properties 中配置:
//显示查询参数即?的具体值
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE log4j.logger.org.hibernate.type.descriptor.sql.BasicExtractor=TRACE log4j.logger.org.hibernate.SQL=DEBUG log4j.logger.org.hibernate.engine.QueryParameters=DEBUG log4j.logger.org.hibernate.engine.query.HQLQueryPlan=DEBUG
如果要求直接出可运行的SQL可以使用
http://sourceforge.net/projects/p6spy/files/p6spy/ (我没用过不知道好不好用)
热心网友 时间:2023-10-17 06:10
晕,ssh的,原理是preparedstatement,不会有具体值。完毕。
要看具体sql,直接看数据库执行记录即可。
oracle会记录执行的sql记录,看看是存在那张系统表里面吧。
热心网友 时间:2023-10-17 06:10
?号的地方是中文吧,要是中文的话有可能是乱码,弄个解析乱码的追问包含有数字,汉字,现在是完全不打印
追答insert
into
TM_WATER_FORM
(STATUS, FORM_TYPE, PROJECT_ID, PROJECT_NAME, CURR_OP_ID, CURR_OP_TEL, CURR_OP_NAME, CREATOR_ID, CREATOR_NAME, CREATOR_TEL, CREATED_DATE, CREATOR_ORG_ID, NOTES, LAST_UPDATE, CREATOR_ORG_NAME, FORM_ID)
values
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
控制台如果打印出了这些内容,是正确的?为参数内容,如果没有打印的话
看看log4j的配置文件有没有打印hibernate的语句
看看log4j的jar包有没有加上
看看log4j的接口包有没有slf4j
看看web.xml有没有配置log4j