1.MyBatis的日志配置
log4j1和log4j2的使用
在项目中添加依赖
log4j2
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
log4j1
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
log4j 1
将log4j.properties(一个字母一个大小写都不能错)文件负责到src中的resources下。另外在其中可以将全局的日志级别调高,避免大量debug信息的干扰。同时将对映射文件的操作调低,可以用来显示SQL语句的调试信息。开发阶段,建议启动控制的日志。
#定义全局日志级别调试阶段推荐debug 我们选择打印的方式是stdout,debug是日志的打印级别
打印级别分为 error warn info debug
log4j.rootLogger=debug,stdout
//将日志打印到控制台上我该怎么去配置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
//将日志打印到D盘msb.log中该怎么去配置
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=d:/msb.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n
log4j 2
将log4j2.xml文件负责到resources下。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Appenders>
<Console name="Console" target="SYSTEM_ERR">
<PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" />
</Console>
<RollingFile name="RollingFile" filename="log/test.log"
filepattern="${logPath}/%d{YYYYMMddHHmmss}-fargo.log">
<PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" />
<Policies>
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
2.MyBatis的事务配置
在mybatis核心配置文件中 envirment中 通过transactionManager配置事务的处理策略
JDBC– 这个配置直接简单使用了 JDBC 的提交和回滚设置。它依赖于从数据源得到的连接来管理事务范围。
MANAGED– 这个配置几乎没做什么。它从来不提交或回滚一个连接。而它会让容器来管理事务的整个生命周期(比如 Spring 或 JEE 应用服务器的上下文) 默认情况下它会关闭连接。然而一些容器并不希望这样, 因此如果你需要从连接中停止它,将 closeConnection 属性设置为 false. mybatis本身并不做事务的处理,交给其他框架去处理事务,如spring
3.MyBatis实体类别名处理
在mybatis核心配置文件中使用别名处理
<!--设置实体类别名-->
<typeAliases>
<!--
通过包扫描给所有的实体类起别名
给指定报名下的所有类起别名
默认每个实体类的别名是首字母小写的类名
Dept dept
Emp emp
-->
<package name="com.msb.pojo"/>
</typeAliases>
在映射文件的resultType 返回值类型 和paramterType 上就可以使用别名了
<select id="selectByEmpno" resultType="emp">
select * from emp where empno = 7566
</select>
4.MyBatis外部属性配置文件存储数据库连接
在resources下准备jdbc.properties属性配置文件

配置文件中的内容
jdbc_driver=com.mysql.cj.jdbc.Driver jdbc_url=jdbc:mysql://127.0.0.1:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai jdbc_username=root jdbc_password=root
在核心配置文件中引入db.properties属性文件
<properties resource="jdbc.properties"></properties>
<settings>
<!--设置日志处理方式-->
<setting name="logImpl" value="LOG4J"/>
</settings>
<!--设置实体类别名-->
<typeAliases>
<!--
通过包扫描给所有的实体类起别名
给指定报名下的所有类起别名
默认每个实体类的别名是首字母小写的类名
Dept dept
Emp emp
-->
<package name="com.msb.pojo"/>
</typeAliases>
<!--配置数据库链接信息-->
<environments default="mysql">
<!--数据源1-->
<environment id="mysql">
<transactionManager type="JDBC"/>
<!--一个数据源-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc_driver}"/>
<property name="url" value="${jdbc_url}"/>
<property name="username" value="${jdbc_username}"/>
<property name="password" value="${jdbc_password}"/>
</dataSource>
</environment>
</environments>
<!--加载映射文件的-->
<mappers>
<mapper resource="com/msb/mapper/DeptMapper.xml"/>
</mappers>
</configuration>








![[Java Web]Cookie,Session,Filter,Listener,Thymeleaf模板](https://img-blog.csdnimg.cn/img_convert/c27acf2ff074f54e616d939116e4af8b.png)





![[bugfix]解决visual studio installer双击后进度条一闪而过之后无反应的问题](https://img-blog.csdnimg.cn/0b55ed9a1190425c943883b51da270bd.png)




