真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Mybatis中怎么通過注解開啟二級(jí)緩存

Mybatis中怎么通過注解開啟二級(jí)緩存,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

成都創(chuàng)新互聯(lián)公司是專業(yè)的沙縣網(wǎng)站建設(shè)公司,沙縣接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行沙縣網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

1.在Mybatis的配置文件中開啟二級(jí)緩存

                                                                                                                                 

開啟緩存 ,為了查看Mybatis中查詢的日志,添加 開啟日志的配置。

2.領(lǐng)域類以及Dao

public class User implements Serializable{  private Integer userId;  private String userName;  private Date userBirthday;  private String userSex;  private String userAddress;  private List accounts;  省略get和set方法...... }import com.example.domain.User;import org.apache.ibatis.annotations.*;import org.apache.ibatis.mapping.FetchType;import java.util.List;@CacheNamespace(blocking = true)public interface UserDao {  /**   * 查找所有用戶   * @return   */  @Select("select * from User")  @Results(id = "userMap",value = {@Result(id = true,column = "id",property = "userId"),      @Result(column = "username",property = "userName"),      @Result(column = "birthday",property = "userBirthday"),      @Result(column = "sex",property = "userSex"),      @Result(column = "address",property = "userAddress"),      @Result(column = "id",property = "accounts",many = @Many(select = "com.example.dao.AccountDao.findAccountByUid",fetchType = FetchType.LAZY))  })  List findAll();  /**   * 保存用戶   * @param user   */  @Insert("insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})")  void saveUser(User user);  /**   * 更新用戶   * @param user   */  @Update("update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}")  void updateUser(User user);  /**   * 刪除用戶   * @param id   */  @Delete("delete from user where id=#{id}")  void deleteUser(Integer id);  /**   * 查詢用戶根據(jù)ID   * @param id   * @return   */  @Select("select * from user where id=#{id}")  @ResultMap(value = {"userMap"})  User findById(Integer id);  /**   * 根據(jù)用戶名稱查詢用戶   * @param name   * @return   *///  @Select("select * from user where username like #{name}")  @Select("select * from user where username like '%${value}%'")  List findByUserName(String name);  /**   * 查詢用戶數(shù)量   * @return   */  @Select("select count(*) from user")  int findTotalUser();}

3.在對(duì)應(yīng)的Dao類上面增加注釋以開啟二級(jí)緩存 

@CacheNamespace(blocking = true)

4.測(cè)試

public class UserCacheTest {  private InputStream in;  private SqlSessionFactory sqlSessionFactory;  @Before  public void init()throws Exception{    in = Resources.getResourceAsStream("SqlMapConfig.xml");    sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);  }  @After  public void destory()throws Exception{    in.close();  }  @Test  public void testFindById(){    //第一查詢    SqlSession sqlSession1 = sqlSessionFactory.openSession();    UserDao userDao1 = sqlSession1.getMapper(UserDao.class);    User user1 = userDao1.findById(41);    System.out.println(user1);    //關(guān)閉一級(jí)緩存    sqlSession1.close();    //第二次查詢    SqlSession sqlSession2 = sqlSessionFactory.openSession();    UserDao userDao2 = sqlSession2.getMapper(UserDao.class);    User user2 = userDao2.findById(41);    System.out.println(user2);    sqlSession1.close();    System.out.println(user1 == user2);  }}

(1)未開啟二級(jí)緩存時(shí)

(2)開啟二級(jí)緩存時(shí)

看完上述內(nèi)容,你們掌握Mybatis中怎么通過注解開啟二級(jí)緩存的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


文章標(biāo)題:Mybatis中怎么通過注解開啟二級(jí)緩存
網(wǎng)頁(yè)地址:http://weahome.cn/article/pshjjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部