mybatis+打印sql
时间: 2023-09-25 15:15:30 浏览: 101
在 MyBatis 中,可以通过配置文件或者代码来打印 SQL 语句,具体方式如下:
1. 通过配置文件打印 SQL
在 MyBatis 的配置文件中,可以配置 `logImpl` 属性来打印 SQL,示例如下:
```xml
<configuration>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
</configuration>
```
其中,`logImpl` 属性的值可以是以下三种:
- `SLF4J`:使用 SLF4J 日志实现打印 SQL;
- `LOG4J`:使用 Log4j 日志实现打印 SQL;
- `STDOUT_LOGGING`:使用标准输出流打印 SQL。
2. 通过代码打印 SQL
在代码中,可以通过 `org.apache.ibatis.logging.LogFactory` 类来打印 SQL,示例如下:
```java
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
public class MyMapper {
private static final Log log = LogFactory.getLog(MyMapper.class);
public void selectUserById(int id) {
log.debug("Executing selectUserById with id: " + id);
// ...
}
}
```
其中,`LogFactory` 类的 `getLog` 方法用于获取日志实例,参数为当前类的 Class 对象,这里使用 `MyMapper.class`;日志实例的 `debug` 方法用于打印日志。在这个例子中,打印了执行 `selectUserById` 方法时的参数值。
阅读全文