自己总结的Mybatis的接口映射和log4j的知识点 接口映射:Mapper文件的nameSpace属性必须设置为对应接口的 : 包名.类名;Mapper中必须实现了该接口的所有声明方法;当Mapper中sql语句需要多个
接口映射: Mapper文件的nameSpace属性必须设置为对应接口的 : 包名.类名; Mapper中必须实现了该接口的所有声明方法; 当Mapper中sql语句需要多个参数时,在接口时传参赛时需要注解: int addStu(@Param("id")int id,@Param("name")String name,@Param("pwd")String pwd); 注解名字和Mapper文件对应方法的sql中 #{值} 一致 接下来就可以通过: StudentDao dao = sqlSession.getMapper(StudentDao.class); 获取到一个dao对象,通过该对象调用该接口中对应方法,框架会自动根据该方法映射的sql语句,生成具体实现,然后执行 缓存: 一级缓存(默认开启):同一个sqlSession的查询方法会缓存数据,在调用增删改之后会刷新数据 ps:在同一个session中二次调用同一查询方法,并不会从数据库查询,而是从缓存中拿数据,但是增删改之后会刷新缓存 二级缓存(默认关闭):同一个Mapper的查询方法会缓存数据,在调用增删改之后会刷新数据 缺点:当通过另一个Mapper修改了当前的Mapper中的数据时,当前Mapper查询的却还是之前缓存的数据,这会导致脏数据 多表联查:查询列名取的别名必须为 "对象名.属性名"的格式 重复性使用的sql语句段可用括起来 需要使用的时候,通过include引用 ---------------------------------------------------------------- log4j日志,需要在log4j,properties中设置日志级别 首先要导入log4j的jar包 log4j产生日志级别有五种,级别由低到高分别是 debug:显示记录 所有的细粒度信息事件,通常用于调试 info:正常的反馈信息 warn:警告,潜在的,可能会发生的错误 error:记录发生了的错误,程序还可以继续执行 fatal:严重错误,程序强行退出了