DAY15 Mybatis 中map的使用,sqlsession,数据库和类属性的映射,日志工厂log4j

public interface UserDao {
    List getUserList();
    User getUserById(int i);
    int addUser(Map user);

}

    

    

    
        insert into `user` (id,name,pwd) values (#{userid},#{username},#{userpwd});
    

 

@Test
public void addUser() {
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserDao userDao = sqlSession.getMapper(UserDao.class);
    HashMap map = new HashMap<>();
    map.put("userid",8);
    map.put("username","徐徐");
    map.put("userpwd",333333);
    userDao.addUser(map);
    sqlSession.commit();
    sqlSession.close();
}

一、容易出现问题:xml中的mapper映射

1、映射类:(如果类和xml不在一个包里,那么就不能使用class映射)

2、扫描包下所有的,xml,和接口的文件名必须一摸一样

3、推荐使用:mapper resource映射 

 

二、

SqlSessionFactoryBuilder 一旦创建,就不再需要它了

SqlSessionFactory,实际就是连接池,生命周期和程序一直存在

SqlSession  连接请求,最佳作用域方法中,用完赶紧关闭,否则资源被占用。

三、数据库中的字段和属性名不一致的解决

1、起别名 pwd as password

2、resultMap映射



    
        
    

    

四、日志工厂

1、基础的

    

2、常用的用log4j

导包,新建properties文件,文件中配置文件。

#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
log4j.rootLogger=DEBUG,console,file

#控制台输出的相关设置
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n

#文件输出的相关设置
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/kuang.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n

#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.appender.file.Threshold=ERROR ,如果设置ERROR,那么info 和 debug都不会输出,如果设置debug,就都会输出,相当于等级

实际使用中,和system.out.println("info")一样,作为输出使用,只不过log4j会存在日志中,而且可以设置等级

在需要sout 的地方

1、先加载对象

public class UserDaoTest {
    static     Logger logger = Logger.getLogger(UserDaoTest.class);
}

 

2、添加到需要输出日志地方
@Test
    public void testLog4j(){
logger.info("info");
logger.debug("debug");
logger.error("error");

你可能感兴趣的:(DAY15 Mybatis 中map的使用,sqlsession,数据库和类属性的映射,日志工厂log4j)