mybatis学习(45):开启二级缓存
生活随笔
收集整理的這篇文章主要介紹了
mybatis学习(45):开启二级缓存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄結構
?
com.geyao.mybatis.mapper
BlogMapper類
package com.geyao.mybatis.mapper;import java.util.List; import java.util.Map;import org.apache.ibatis.annotations.Param;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer id);Blog selectBlog2(Integer id);List<Blog> selectBlogByTitle(String title);List<Blog> selectBlogByTitle2(String title);List<Blog> selectBlogBySort(String column);List<Blog> selectBlogByPage(int offset,int pagesize);List<Blog> selectBlogByPage1(@Param(value="offset")int offset,@Param(value="pagesize")int pagesize);List<Blog> selectBlogByPage2(Map<String, Object>map);int insertBlog(Blog blog);int insertBlogMysql(Blog blog);int updateBlog(Blog blog);int deleteBlogById(Integer id);List<Blog> selectActiveBlogByTitle(String title);List<Blog> selectActiveBlogByTitleOrStyle(Blog blog);List<Blog> selectBlogByCondition(Blog blog);int updateBlogByCondition(Blog blog);List<Blog> selectBlogByConditionTrim(Blog blog);int updateBlogByConditionTrim(Blog blog);int deleteBlogList(List<Integer> ids); }BlogMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 為這個mapper指定一個唯一的namespace,namespace的值習慣上設置成包名+sql映射文件名,這樣就能夠保證namespace的值是唯一的 例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后綴)--> <mapper namespace="com.geyao.mybatis.mapper.BlogMapper"><!-- 在select標簽中編寫查詢的SQL語句, 設置select標簽的id屬性為getUser,id屬性值必須是唯一的,不能夠重復使用parameterType屬性指明查詢時使用的參數類型,resultType屬性指明查詢返回的結果集類型resultType="me.gacl.domain.User"就表示將查詢結果封裝成一個User類的對象返回User類就是users表所對應的實體類--><cache/><!-- 根據id查詢得到一個user對象--><resultMap type="Blog" id="blogResultMap"><id column="id" property="id" jdbcType="INTEGER"></id><result column="authod_id" property="authodId" jdbcType="INTEGER"/></resultMap><!-- sql片段 --><sql id="columnbase">select id,title,authod_id as authodId,state,featured,style</sql><!-- crud --><select id="selectBlog" parameterType="int" resultType="Blog">select *from Blog where id=#{id}</select> <select id="selectBlog2" parameterType="int" resultMap="blogResultMap">select *from Blog where id=#{id}</select><select id="selectBlogByTitle" parameterType="String" resultMap="blogResultMap">select * from Blog where title like #{title}</select><select id="selectBlogByTitle2" parameterType="String" resultMap="blogResultMap">select * from Blog where title like '${value}'</select><select id="selectBlogBySort" parameterType="String" resultMap="blogResultMap">select * from Blog order by ${value}</select><select id="selectBlogByPage" resultMap="blogResultMap">select * from Blog limit #{0},#{1}</select><select id="selectBlogByPage1" resultMap="blogResultMap">select * from Blog limit #{offset},#{pagesize}</select><select id="selectBlogByPage2" resultMap="blogResultMap">select * from Blog limit #{offset},#{pagesize}</select><insert id="insertBlog" parameterType="Blog" useGeneratedKeys="true" keyProperty="id">INSERT INTO Blog(title,authod_id,state,featured,style)VALUES(#{title},#{authodId},#{state},#{featured},#{style})</insert><insert id="insertBlogOracle" parameterType="Blog" ><selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="id">select seq.nextval as id from dual</selectKey>INSERT INTO Blog(title,authod_id,state,featured,style)VALUES(#{title},#{authodId},#{state},#{featured},#{style})</insert><insert id="insertBlogMysql" parameterType="Blog" ><selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">SELECT LAST_INSERT_ID()</selectKey>INSERT INTO Blog(title,authod_id,state,featured,style)VALUES(#{title},#{authodId},#{state},#{featured},#{style})</insert><update id="updateBlog" parameterType="Blog" >UPDATE BlogSETtitle = #{title},authod_id = #{authodId},state = #{state},featured = #{featured}, style= #{ style}WHERE id = #{id}</update><delete id="deleteBlogById" parameterType="int">delete from blog where id =#{id}</delete><!-- 動態sql --><select id="selectActiveBlogByTitle" parameterType="String" resultMap="blogResultMap">SELECT * FROM blogwhere state ='ACTIVE'<if test="value!=null and value !=''">AND title LIKE '%o%'</if></select><select id="selectActiveBlogByTitleOrStyle" parameterType="Blog" resultMap="blogResultMap">SELECT * FROM blogwhere state ='ACTIVE'<choose><when test="title !=null and title !=''">and lower(title) like lower(#{title})</when><when test="style !=null and style!=''"></when><otherwise>and featured=true;</otherwise></choose></select><select id="selectBlogByCondition" parameterType="Blog" resultMap="blogResultMap">select * from blog<where><if test="state !=null and state !=''">state=#{state}</if><if test="title !=null and title !=''">and lower(title) like lower(#{title})</if><if test=" featured !=null">and featured = #{featured}</if></where></select><update id="updateBlogByCondition" parameterType="Blog" >UPDATE Blog<set><if test="title!=null">title = #{title},</if><if test="authodId!=null">authod_id = #{authodId},</if><if test="state!=null">state = #{state},</if><if test="featured!=null">featured = #{featured},</if> <if test="style!=null">style= #{ style}</if> </set>WHERE id = #{id}</update><select id="selectBlogByConditionTrim" parameterType="Blog" resultMap="blogResultMap">select * from blog<trim prefix="where" prefixOverrides="and / or"><if test="state !=null and state !=''">state=#{state}</if><if test="title !=null and title !=''">lower(title) like lower(#{title})</if><if test=" featured !=null">and featured = #{featured}</if></trim></select><update id="updateBlogByConditionTrim" parameterType="Blog" >UPDATE Blog<trim prefix="set" suffixOverrides=","><if test="title!=null">title = #{title},</if><if test="authodId!=null">authod_id = #{authodId},</if><if test="state!=null">state = #{state},</if><if test="featured!=null">featured = #{featured},</if> <if test="style!=null">style= #{ style}</if> </trim>WHERE id = #{id}</update><delete id="deleteBlogList" parameterType="list" >delete from Blog where id in<foreach collection="list" item="item" open="(" close= ")" separator=",">#{item}</foreach></delete></mapper>com.geyao.mybatis.pojo
Blog類
package com.geyao.mybatis.pojo;import java.io.Serializable;public class Blog implements Serializable {/*** */private static final long serialVersionUID = 1L;private Integer id;private String title;private int authodId;private String state;private Boolean featured;private String style;public Blog() {super();//this.title="未命名";//this.authodId=4;//this.state="NOT";//this.featured=false;//this.style="red"; }public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public int getAuthodId() {return authodId;}public void setAuthodId(int authodId) {this.authodId = authodId;}public String getState() {return state;}public void setState(String state) {this.state = state;}public Boolean getFeatured() {return featured;}public void setFeatured(Boolean featured) {this.featured = featured;}public String getStyle() {return style;}public void setStyle(String style) {this.style = style;}@Overridepublic String toString() {return "Blog [id=" + id + ", title=" + title + ", authodId=" + authodId + ", state=" + state + ", featured="+ featured + ", style=" + style + "]\n";}}com.geyao.mybatis.util
MybatisUtil類
package com.geyao.mybatis.util;import java.io.InputStream; import java.io.Reader;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MyBatisUtil {private static SqlSessionFactory sqlSessionFactory =null;static {try {InputStream in = Resources.getResourceAsStream("mybatis-config.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}private MyBatisUtil() {}public static SqlSession getSqlSession() {return sqlSessionFactory.openSession();} }log4j.properties
### \u914D\u7F6E\u6839 ### log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE,MAIL,DATABASE### \u8BBE\u7F6E\u8F93\u51FAsql\u7684\u7EA7\u522B\uFF0C\u5176\u4E2Dlogger\u540E\u9762\u7684\u5185\u5BB9\u5168\u90E8\u4E3Ajar\u5305\u4E2D\u6240\u5305\u542B\u7684\u5305\u540D ### log4j.logger.org.apache=dubug log4j.logger.java.sql.Connection=dubug log4j.logger.java.sql.Statement=dubug log4j.logger.java.sql.PreparedStatement=dubug log4j.logger.java.sql.ResultSet=dubug### \u914D\u7F6E\u8F93\u51FA\u5230\u63A7\u5236\u53F0 ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%nmybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><typeAliases><typeAlias type="com.geyao.mybatis.pojo.Blog" alias="Blog"/> </typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置數據庫連接信息 --><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8" /><property name="username" value="root" /><property name="password" value="123" /></dataSource></environment></environments><mappers><!-- 注冊userMapper.xml文件, userMapper.xml位于me.gacl.mapping這個包下,所以resource寫成me/gacl/mapping/userMapper.xml--><mapper resource="com/geyao/mybatis/mapper/BlogMapper.xml"/></mappers> </configuration>單元測試
com.geyao.mybatis.util
testSelectBlog類
package com.geyao.mybatis.mapper;import java.util.HashMap; import java.util.List; import java.util.Map;import org.apache.ibatis.session.SqlSession; import org.junit.Test;import com.geyao.mybatis.pojo.Blog; import com.geyao.mybatis.util.MyBatisUtil;public class testSelectBlog {@Testpublic void testSelectBlogNoInterface() {SqlSession session =MyBatisUtil.getSqlSession();Blog blog =(Blog)session.selectOne("com.geyao.mybatis.mapper.BlogMapper.selectBlog", 101);session.close();System.out.println(blog);} @Test public void testSelectBlog() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = blogMapper.selectBlog(1);System.out.println(blog); }@Test public void testSelectBlog2() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = blogMapper.selectBlog2(1);System.out.println(blog); } @Test public void testselectBlogByTitle() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogByTitle("%g%");System.out.println(blogList); }@Test public void testselectBlogByTitle2() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogByTitle2("%g%");System.out.println(blogList); } @Test public void testselectBlogBySort() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogBySort("title");System.out.println(blogList); } @Test public void testselectBlogByPage() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogByPage(2,2);System.out.println(blogList); } @Test public void testselectBlogByPage1() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogByPage1(2,2);System.out.println(blogList); } @Test public void testselectBlogByPage2() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Map<String, Object> map =new HashMap<String, Object>();map.put("offset", 2);map.put("pagesize", 2);List<Blog> blogList = blogMapper.selectBlogByPage2(map);System.out.println(blogList); }@Test public void testInsertBlog() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog=new Blog();int count= blogMapper.insertBlog(blog);session.commit();session.close();System.out.println(blog);System.out.println("插入的"+count+"記錄"); }@Test public void testinsertBlogMysql() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog=new Blog();int count= blogMapper.insertBlogMysql(blog);session.commit();session.close();System.out.println(blog);System.out.println("插入的"+count+"記錄"); }@Test public void testupdateBlog() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog=new Blog();blog.setId(1);blog.setTitle("geyao");blog.setStyle("balck");blog.setState("active");blog.setFeatured(false);blog.setAuthodId(2);int count= blogMapper.updateBlog(blog);session.commit();session.close();System.out.println(blog);System.out.println("修改"+count+"記錄"); } }jar包
鏈接:https://pan.baidu.com/s/1g6NgzfLc5uK9S4VL-03lHg
提取碼:4r2m
運行結果
?
目錄結構
com.geyao.mybatis.mapper
BlogMapper類
package com.geyao.mybatis.mapper;import java.util.List; import java.util.Map;import org.apache.ibatis.annotations.Param;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer id);Blog selectBlog2(Integer id);List<Blog> selectBlogByTitle(String title);List<Blog> selectBlogByTitle2(String title);List<Blog> selectBlogBySort(String column);List<Blog> selectBlogByPage(int offset,int pagesize);List<Blog> selectBlogByPage1(@Param(value="offset")int offset,@Param(value="pagesize")int pagesize);List<Blog> selectBlogByPage2(Map<String, Object>map);int insertBlog(Blog blog);int insertBlogMysql(Blog blog);int updateBlog(Blog blog); }BlogMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 為這個mapper指定一個唯一的namespace,namespace的值習慣上設置成包名+sql映射文件名,這樣就能夠保證namespace的值是唯一的 例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后綴)--> <mapper namespace="com.geyao.mybatis.mapper.BlogMapper"><!-- 在select標簽中編寫查詢的SQL語句, 設置select標簽的id屬性為getUser,id屬性值必須是唯一的,不能夠重復使用parameterType屬性指明查詢時使用的參數類型,resultType屬性指明查詢返回的結果集類型resultType="me.gacl.domain.User"就表示將查詢結果封裝成一個User類的對象返回User類就是users表所對應的實體類--><!-- 根據id查詢得到一個user對象--><resultMap type="Blog" id="blogResultMap"><id column="id" property="id" jdbcType="INTEGER"></id><result column="authod_id" property="authodId" jdbcType="INTEGER"/></resultMap><select id="selectBlog" parameterType="int" resultType="Blog">select id,title,authod_id as authodId,state,featured,stylefrom Blog where id=#{id}</select> <select id="selectBlog2" parameterType="int" resultMap="blogResultMap">select *from Blog where id=#{id}</select><select id="selectBlogByTitle" parameterType="String" resultMap="blogResultMap">select * from Blog where title like #{title}</select><select id="selectBlogByTitle2" parameterType="String" resultMap="blogResultMap">select * from Blog where title like '${value}'</select><select id="selectBlogBySort" parameterType="String" resultMap="blogResultMap">select * from Blog order by ${value}</select><select id="selectBlogByPage" resultMap="blogResultMap">select * from Blog limit #{0},#{1}</select><select id="selectBlogByPage1" resultMap="blogResultMap">select * from Blog limit #{offset},#{pagesize}</select><select id="selectBlogByPage2" resultMap="blogResultMap">select * from Blog limit #{offset},#{pagesize}</select><insert id="insertBlog" parameterType="Blog" useGeneratedKeys="true" keyProperty="id">INSERT INTO Blog(title,authod_id,state,featured,style)VALUES(#{title},#{authodId},#{state},#{featured},#{style})</insert><insert id="insertBlogOracle" parameterType="Blog" ><selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="id">select seq.nextval as id from dual</selectKey>INSERT INTO Blog(title,authod_id,state,featured,style)VALUES(#{title},#{authodId},#{state},#{featured},#{style})</insert><insert id="insertBlogMysql" parameterType="Blog" ><selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">SELECT LAST_INSERT_ID()</selectKey>INSERT INTO Blog(title,authod_id,state,featured,style)VALUES(#{title},#{authodId},#{state},#{featured},#{style})</insert><update id="updateBlog" parameterType="Blog" >UPDATE BlogSETtitle = #{title},authod_id = #{authodId},state = #{state},featured = #{featured}, style= #{ style}WHERE id = #{id}</update> </mapper>com.geyao.mybatis.pojo
Blog類
package com.geyao.mybatis.pojo;public class Blog {private Integer id;private String title;private int authodId;private String state;private Boolean featured;private String style;public Blog() {super();this.title="未命名";this.authodId=4;this.state="NOT";this.featured=false;this.style="red"; }public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public int getAuthodId() {return authodId;}public void setAuthodId(int authodId) {this.authodId = authodId;}public String getState() {return state;}public void setState(String state) {this.state = state;}public Boolean getFeatured() {return featured;}public void setFeatured(Boolean featured) {this.featured = featured;}public String getStyle() {return style;}public void setStyle(String style) {this.style = style;}@Overridepublic String toString() {return "Blog [id=" + id + ", title=" + title + ", authodId=" + authodId + ", state=" + state + ", featured="+ featured + ", style=" + style + "]\n";}}com.geyao.mybatis.util
MybatisUtil類
package com.geyao.mybatis.util;import java.io.InputStream; import java.io.Reader;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MyBatisUtil {private static SqlSessionFactory sqlSessionFactory =null;static {try {InputStream in = Resources.getResourceAsStream("mybatis-config.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}private MyBatisUtil() {}public static SqlSession getSqlSession() {return sqlSessionFactory.openSession();} }log4j.properties
### \u914D\u7F6E\u6839 ### log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE,MAIL,DATABASE### \u8BBE\u7F6E\u8F93\u51FAsql\u7684\u7EA7\u522B\uFF0C\u5176\u4E2Dlogger\u540E\u9762\u7684\u5185\u5BB9\u5168\u90E8\u4E3Ajar\u5305\u4E2D\u6240\u5305\u542B\u7684\u5305\u540D ### log4j.logger.org.apache=dubug log4j.logger.java.sql.Connection=dubug log4j.logger.java.sql.Statement=dubug log4j.logger.java.sql.PreparedStatement=dubug log4j.logger.java.sql.ResultSet=dubug### \u914D\u7F6E\u8F93\u51FA\u5230\u63A7\u5236\u53F0 ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%nmybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><typeAliases><typeAlias type="com.geyao.mybatis.pojo.Blog" alias="Blog"/> </typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置數據庫連接信息 --><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8" /><property name="username" value="root" /><property name="password" value="123" /></dataSource></environment></environments><mappers><!-- 注冊userMapper.xml文件, userMapper.xml位于me.gacl.mapping這個包下,所以resource寫成me/gacl/mapping/userMapper.xml--><mapper resource="com/geyao/mybatis/mapper/BlogMapper.xml"/></mappers> </configuration>單元測試
com.geyao.mybatis.util
testSelectBlog類
package com.geyao.mybatis.mapper;import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map;import org.apache.ibatis.session.SqlSession; import org.junit.Test;import com.geyao.mybatis.pojo.Blog; import com.geyao.mybatis.util.MyBatisUtil;public class testSelectBlog {@Testpublic void testSelectBlogNoInterface() {SqlSession session =MyBatisUtil.getSqlSession();Blog blog =(Blog)session.selectOne("com.geyao.mybatis.mapper.BlogMapper.selectBlog", 1);session.close();System.out.println(blog);} @Test public void testSelectBlog() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = blogMapper.selectBlog(1);System.out.println(blog); }@Test public void testSelectBlog2() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = blogMapper.selectBlog2(1);System.out.println(blog); } @Test public void testselectBlogByTitle() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogByTitle("%g%");System.out.println(blogList); }@Test public void testselectBlogByTitle2() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogByTitle2("%g%");System.out.println(blogList); } @Test public void testselectBlogBySort() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogBySort("title");System.out.println(blogList); } @Test public void testselectBlogByPage() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogByPage(2,2);System.out.println(blogList); } @Test public void testselectBlogByPage1() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList = blogMapper.selectBlogByPage1(2,2);System.out.println(blogList); } @Test public void testselectBlogByPage2() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Map<String, Object> map =new HashMap<String, Object>();map.put("offset", 2);map.put("pagesize", 2);List<Blog> blogList = blogMapper.selectBlogByPage2(map);System.out.println(blogList); }@Test public void testInsertBlog() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog=new Blog();int count= blogMapper.insertBlog(blog);session.commit();session.close();System.out.println(blog);System.out.println("插入的"+count+"記錄"); }@Test public void testinsertBlogMysql() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog=new Blog();int count= blogMapper.insertBlogMysql(blog);session.commit();session.close();System.out.println(blog);System.out.println("插入的"+count+"記錄"); }@Test public void testupdateBlog() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = blogMapper.selectBlog(1);//Blog blog=new Blog();blog.setId(1);blog.setTitle("geyao");blog.setAuthodId(3);//blog.setStyle("balck");//blog.setState("active");//blog.setFeatured(false);//blog.setAuthodId(2);int count= blogMapper.updateBlog(blog);session.commit();session.close();System.out.println(blog);System.out.println("修改"+count+"記錄"); } @Test public void testdeleteBlogById() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);int count= blogMapper.deleteBlogById(3);session.commit();session.close();System.out.println("刪除的"+count+"記錄"); } @Test public void testselectActiveBlogByTitle() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> blogList=blogMapper.selectActiveBlogByTitle("o");session.close();System.out.println(blogList); } @Test public void testselectActiveBlogByTitleOrStyle() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = new Blog();blog.setTitle("%o%");blog.setStyle("black");List<Blog> blogList=blogMapper.selectActiveBlogByTitleOrStyle(blog);session.close();System.out.println(blogList); } @Test public void testselectBlogByCondition() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = new Blog();blog.setTitle("%o%");List<Blog> blogList=blogMapper.selectBlogByCondition(blog);session.close();System.out.println(blogList); } @Test public void tesupdateBlogByCondition() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = blogMapper.selectBlog(1);//Blog blog=new Blog();blog.setId(1);blog.setTitle("geyaonice");blog.setAuthodId(3);//blog.setStyle("balck");//blog.setState("active");//blog.setFeatured(false);//blog.setAuthodId(2);int count= blogMapper.updateBlogByCondition(blog);session.commit();session.close();System.out.println(blog);System.out.println("修改"+count+"記錄"); } @Test public void testselectBlogByConditionTrim() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = new Blog();blog.setTitle("%o%");List<Blog> blogList=blogMapper.selectBlogByConditionTrim(blog);session.close();System.out.println(blogList); } @Test public void tesupdateBlogByConditionTrim() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = blogMapper.selectBlog(1);//Blog blog=new Blog();blog.setId(1);blog.setTitle("geyaonice");blog.setAuthodId(3);//blog.setStyle("balck");//blog.setState("active");//blog.setFeatured(false);//blog.setAuthodId(2);int count= blogMapper.updateBlogByConditionTrim(blog);session.commit();session.close();System.out.println(blog);System.out.println("修改"+count+"記錄"); } @Test public void testdeleteBlogList() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Integer> ids=Arrays.asList(2,3,4);int count= blogMapper.deleteBlogList(ids);session.commit();session.close();System.out.println("刪除"+count+"記錄"); } //--------一級緩存 @Test public void testSelectBlogCacheLevelOne1() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog1=blogMapper.selectBlog(1);System.out.println("結果已查詢");Blog blog2=blogMapper.selectBlog(2);System.out.println("結果已查詢");session.close();System.out.println("session關閉");} @Test public void testSelectBlogCacheLevelOne2() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog1=blogMapper.selectBlog(1);System.out.println("結果已查詢");blog1.setFeatured(true);blogMapper.updateBlog(blog1);System.out.println("刷星緩存");Blog blog2=blogMapper.selectBlog(2);System.out.println("重新執行查詢");session.close();System.out.println("session關閉");} //二級緩存------ @Test public void testSelectBlogCacheLevelTwo1() {SqlSession session1 =MyBatisUtil.getSqlSession();BlogMapper blogMapper1 =session1.getMapper(BlogMapper.class);Blog blog1=blogMapper1.selectBlog(1);System.out.println("結果已查詢");session1.close();SqlSession session2 =MyBatisUtil.getSqlSession();BlogMapper blogMapper2 =session2.getMapper(BlogMapper.class);Blog blog2=blogMapper2.selectBlog(1);System.out.println("結果已查詢");session2.close();System.out.println("session關閉");} }jar包
鏈接:https://pan.baidu.com/s/1g6NgzfLc5uK9S4VL-03lHg
提取碼:4r2m
運行結果
?
?
?
?
總結
以上是生活随笔為你收集整理的mybatis学习(45):开启二级缓存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: grasshopper for rhin
- 下一篇: 完全背包问题 c语言