mybatis 缓存的简单配置

本文详细介绍了MyBatis配置文件中如何启用缓存,并通过代码示例展示了如何实现序列化接口以避免异常发生。同时,阐述了缓存机制在不同session关闭后重启时的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

mybatis-config.xml配置

 

    <settings>

       <setting name="cacheEnabled" value="true"/>

    </settings>

默认为false,这里需要设置为true

 

同时将PersonMapper.xml中添加

 

<cache></cache>

 

同时将Person javabean 实现Serializable接口,注意比须实现,不然会出现异常.

 

测试如下:

 

package com.mybatis.test;

 

import java.io.InputStream;

import java.util.List;

 

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

 

import com.mybatis.dao.PersonMapper;

import com.mybatis.domain.Person;

 

public class PersonTest {

        

         private static SqlSessionFactory factory ;

        

         static{

                   InputStream in = PersonTest.class.getClassLoader().getResourceAsStream("mybatis-config.xml");

                   factory = new SqlSessionFactoryBuilder().build(in,"test1");

         }

        

         public static void main(String args[]){

                   SqlSession session = factory.openSession();

                   PersonMapper personMapper = session.getMapper(PersonMapper.class);

                   Person person = new Person();

                   person.setName("jysemel");

                   List<Person> list =  personMapper.selectPerson("jysemel");

                   System.out.println(list.get(0).getName()+"==================");

                   session.commit();

                   session.close();

                   SqlSession session1 = factory.openSession();

                   PersonMapper personMapper1 = session1.getMapper(PersonMapper.class);

                   person.setName("jysemel");

                   System.out.println(personMapper = personMapper1);

                   List<Person> list1 =  personMapper1.selectPerson("jysemel1");

                   System.out.println(list1.size()+"***********************");

                   session1.commit();

                   session1.close();

         }

}

 

注意:所谓缓存,只有当前session关闭之后,重启开启session,才能看出缓存的作用

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值