1、log4j1配置
目录结构:
conf.xml
log4j.properties
#log4j-1#全局日志配置
log4j.rootLogger=ERROR,stdout
#MyBatis日志配置
log4j.logger.com.lfy.mapping.empMapper=DEBUG
#控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p[%c] - %m%n
empMapper.xml
select * from emp where empno=#{empno}
Emp.java
packagecom.lfy.bean;importjava.util.Date;public classEmp {privateInteger empno;privateString ename;privateString job;privateInteger mgr;privateDate hireDate;privateInteger sal;privateInteger comm;privateInteger deptno;publicInteger getEmpno() {returnempno;
}public voidsetEmpno(Integer empno) {this.empno =empno;
}publicString getEname() {returnename;
}public voidsetEname(String ename) {this.ename =ename;
}publicString getJob() {returnjob;
}public voidsetJob(String job) {this.job =job;
}publicInteger getMgr() {returnmgr;
}public voidsetMgr(Integer mgr) {this.mgr =mgr;
}publicDate getHiredate() {returnhireDate;
}public voidsetHiredate(Date hiredate) {
hireDate=hiredate;
}publicInteger getSal() {returnsal;
}public voidsetSal(Integer sal) {this.sal =sal;
}publicInteger getComm() {returncomm;
}public voidsetComm(Integer comm) {this.comm =comm;
}publicInteger getDeptno() {returndeptno;
}public voidsetDeptno(Integer deptno) {this.deptno =deptno;
}
@OverridepublicString toString() {return "User=[empno="+empno+
",ename="+ename+
",job="+job+
",mgr="+mgr+
",hiredate="+hireDate+
",sal="+sal+
",comm="+comm+
",deptno="+deptno+"]";
}
}
MybatisTest.java
packagecom.lfy.main;importjava.io.InputStream;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importcom.lfy.bean.Emp;/*** 使用log4j-1配置日志
*@authorlfy
**/
public classMybatisTest {public static voidmain(String[] args) {//mybatis的配置文件
String resource = "conf.xml";//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
InputStream is = MybatisTest.class.getClassLoader().getResourceAsStream(resource);//构建sqlSession的工厂
SqlSessionFactory sessionFactory = newSqlSessionFactoryBuilder().build(is);//使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)//Reader reader = Resources.getResourceAsReader(resource);//构建sqlSession的工厂//SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);//创建能执行映射文件中sql的sqlSession
SqlSession session =sessionFactory.openSession();/*** 映射sql的标识字符串,
* com.lfy.mapping.empMapper是empMapper.xml文件中mapper标签的namespace属性的值,
* getEmp是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL*/String statement= "com.lfy.mapping.empMapper.getEmp";//映射sql的标识字符串//执行查询返回一个唯一user对象的sql
Emp emp = session.selectOne(statement, 7839);
System.out.println(emp);
}
}
运行结果:
2、log4j2配置
目录结构:
conf.xml
log4j2.xml
运行结果:
总结:
使用log4j1时,需要引入log4j1的包、在conf.xml中添加、编写log4j.properties;
使用log4j2时,需要引入log4j2的包、在conf.xml中添加、编写log4j2.xml。