Mybatis接口映射如何实现长尾词查询功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计463个文字,预计阅读时间需要2分钟。
自己总结的Mybatis接口映射和log4j的知识点:

接口映射:- Mapper文件中的namespace属性必须设置为对应的接口全名- Mapper中必须实现了接口的所有声明方法- 当Mapper中sql语句需要多个参数时,可以使用@Param注解为参数命名

log4j:- 配置log4j.properties文件,设置日志级别和输出格式- 使用Logger类获取日志记录器对象- 使用不同级别的日志方法记录信息,如debug、info、warn、error等
自己总结的Mybatis的接口映射和log4j的知识点接口映射:
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语句段可用
本文共计463个文字,预计阅读时间需要2分钟。
自己总结的Mybatis接口映射和log4j的知识点:
接口映射:- Mapper文件中的namespace属性必须设置为对应的接口全名- Mapper中必须实现了接口的所有声明方法- 当Mapper中sql语句需要多个参数时,可以使用@Param注解为参数命名
log4j:- 配置log4j.properties文件,设置日志级别和输出格式- 使用Logger类获取日志记录器对象- 使用不同级别的日志方法记录信息,如debug、info、warn、error等
自己总结的Mybatis的接口映射和log4j的知识点接口映射:
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语句段可用
