private static SqlSessionFactory factory;
@Before
public void before() throws Exception {
InputStream inputStream = Resources.getResourceAsStream(Constant.RESOURCE);
factory = new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void test01() throws Exception {
SqlSession session1 = factory.openSession();
SysProduct product = session1.selectOne(Constant.NAMESPACE + "selectByPrimaryKey", 1L);
log.info("product==>" + JSON.toJSONString(product));
///查询主键是1的数据 不会发SQL语句,会使用缓存
SysProduct product1 = session1.selectOne(Constant.NAMESPACE + "selectByPrimaryKey", 1L);
log.info("product1==>" + JSON.toJSONString(product1));
///查询主键不同的数据,会发出一条SQL语句,不会使用缓存
SysProduct product2 = session1.selectOne(Constant.NAMESPACE + "selectByPrimaryKey", 2L);
log.info("product2==>" + JSON.toJSONString(product2));
///不同的session查询同一条数据,会发出两条SQL语句,不会使用缓存
SqlSession session3 = factory.openSession();
SysProduct product3 = session3.selectOne(Constant.NAMESPACE + "selectByPrimaryKey", 1L);
log.info("product==>" + JSON.toJSONString(product3));
}
mybatis 源码分析----缓存
最新推荐文章于 2024-07-17 00:29:30 发布