回顾:
Mybatis使用流程
创建mybatis-config.xml 全局的配置文件
创建XXXMapper.xml配置文件件
创建SqlSessionFactory
用SqlSessionFactory创建SqlSession对象
用SqlSession执行增删改查CRUD
步骤:
第一步添加依赖:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
第二步:
在resources创建log4j.properties
log4j.rootLogger=ERROR, stdout
#DEBUG日常调试使用,TRACE内容会打印更多,
#log4j.logger.work.yspan=DEBUG
log4j.logger.work.yspan=TRACE
#细化到打印某个mapper的某个方法
#log4j.logger.work.yspan.online_class.dao.VideoMapper.selectById=TRACE
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
第三步:运行之前的查询方法:
public class SqlSessionDemo {
public static void main(String [] args) throws IOException {
//读取配置文件
String resouce="config/mybatis-config.xml";
InputStream inputStream= Resources.getResourceAsStream(resouce);
//构建Session工厂
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
//获取Session
try(SqlSession sqlSession=sqlSessionFactory.openSession()){
VideoMapper videoMapper=sqlSession.getMapper(VideoMapper.class);
Video video=videoMapper.selectById(44);
//System.out.println(video.toString());
List<Video> list=videoMapper.selectList();
//System.out.println(list.toString());
List<Video> list1=videoMapper.selectListXml();
System.out.println(list1.toString());
}
}
}
public interface VideoMapper {
/**
* 根据视频id查找视频对象
* @param videoId
* @return
*/
//当参数多的时候添加@Param(" ")来取别名区分
Video selectById(@Param("video_id") int videoId);
List<Video> selectListXml();
/**
* 查询全部视频列表
* @return
*/
//这样写不会和Videomapper.xml有任何关联
@Select("select * from video")
List<Video> selectList();
}
效果截图:
DEBUG:
TRACE:
具体到某个mapper的某个方法: