mybatis

mybatis代理类创建
DefaultSqlSession #getMapper
MapperRegistry #getMapper
MapperProxyFactory #newInstance
Proxy.newProxyInstance(, , new MapperProxy(new MapperMethod()));
1、pg、dm、mysql 可以直接使用mybatis配置:
useGeneratedKeys="true"keyProperty="id"keyColumn="id"
2、oracle时,需要使用
<selectKeyresultType="int"keyProperty="id"order="BEFORE"databaseId="postgres">
3、工具类使用
String sql = new SQL().SELECT().FROM(tableName).toString();

SqlRunner sqlRunner = new SqlRunner(conn);
if (SqlCommandType.DELETE.equals(type)) {
 sqlRunner.delete(sql, objectArr);
} else if (SqlCommandType.UPDATE.equals(type)) {
 sqlRunner.update(sql, objectArr);
} else if (SqlCommandType.INSERT.equals(type)) {
 sqlRunner.insert(sql, objectArr);
}
mybatis自定义类型
继承BaseTypeHandler<T>

@MappedTypes({Object.class})
public class A<T extends Object> extends BaseTypeHandler<T> {
}
slf4j框架自动创建logs目录
1、logback-spring.xml文件使用默认的或者指定的
若需要指定时配置参数为logging.config = config/logback-spring.xml

2、在日志文件logback-spring.xml中设置日志文件路径:logDir
slf4j框架打印mybatis的sql语句
-- 1、在使用控制台输入sql语句时,只需要设置下面参数即可
-- mybatis-plus
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
-- mybatis
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

-- 2、写入debug文件,需要先去除上面的控制台输出时的配置
-- 2.1、只需要首先设置日志文件的日志级别为debug即可
-- 2.2、如果想打印不必要的日志信息,可以通过下面配置禁用
    logging.level.org=off
    logging.level.druid=off
    -- 禁止打印指定包名的日志信息
    logging.level.springfox=off
    -- 仅打印指定包名的日志信息
    logging.level.com.**.mapper=debug
posted @ 2022-12-13 16:36  rbcd  阅读(37)  评论(0编辑  收藏  举报