超详细的Mybatis注解开发整理(三)

mybatis 基于注解的二级缓存

在 SqlMapConfig.xml 中开启二级缓存支持

<span style="color:#000000"><code class="language-xml"><span style="color:#5c6370"><!--配置开启二级缓存--></span>
<span style="color:#e06c75"><span style="color:#e06c75"><span style="color:#999999"><</span>settings</span><span style="color:#999999">></span></span>
    <span style="color:#e06c75"><span style="color:#e06c75"><span style="color:#999999"><</span>setting</span> <span style="color:#d19a66">name</span><span style="color:#669900"><span style="color:#999999">=</span><span style="color:#999999">"</span>cacheEnabled<span style="color:#999999">"</span></span> <span style="color:#d19a66">value</span><span style="color:#669900"><span style="color:#999999">=</span><span style="color:#999999">"</span>true<span style="color:#999999">"</span></span><span style="color:#999999">/></span></span>
<span style="color:#e06c75"><span style="color:#e06c75"><span style="color:#999999"></</span>settings</span><span style="color:#999999">></span></span>
</code></span>

在持久层接口中使用注解配置二级缓存

<span style="color:#000000"><code class="language-java"><span style="color:#c678dd">package</span> com<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">;</span>

<span style="color:#c678dd">import</span> com<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>domain<span style="color:#999999">.</span>User<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> org<span style="color:#999999">.</span>apache<span style="color:#999999">.</span>ibatis<span style="color:#999999">.</span>annotations<span style="color:#999999">.</span>*<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> org<span style="color:#999999">.</span>apache<span style="color:#999999">.</span>ibatis<span style="color:#999999">.</span>mapping<span style="color:#999999">.</span>FetchType<span style="color:#999999">;</span>

<span style="color:#c678dd">import</span> java<span style="color:#999999">.</span>util<span style="color:#999999">.</span>List<span style="color:#999999">;</span>

<span style="color:#5c6370">/**
 * Keafmd
 *
 * @ClassName: IUserDao
 * @Description:
 * @author: 牛哄哄的柯南
 * @date: 2021-02-16 20:30
 */</span>

<span style="color:#5c6370">/**
 * 在mybatis中针对CRUD一共有四个注解
 * @Select @Insert @Update @Delete
 */</span>
<span style="color:#999999">@CacheNamespace</span><span style="color:#999999">(</span>blocking <span style="color:#669900">=</span> <span style="color:#56b6c2">true</span><span style="color:#999999">)</span> <span style="color:#5c6370">//mybatis 基于注解方式实现配置二级缓存 *这里*</span>
<span style="color:#c678dd">public</span> <span style="color:#c678dd">interface</span> IUserDao <span style="color:#999999">{</span>

    <span style="color:#5c6370">/**
     * 查询所有用户
     * @return
     */</span>
    <span style="color:#999999">@Select</span><span style="color:#999999">(</span><span style="color:#669900">"select * from user"</span><span style="color:#999999">)</span>
    <span style="color:#999999">@Results</span><span style="color:#999999">(</span>id<span style="color:#669900">=</span><span style="color:#669900">"userMap"</span><span style="color:#999999">,</span>value<span style="color:#669900">=</span><span style="color:#999999">{</span>
            <span style="color:#999999">@Result</span><span style="color:#999999">(</span>id <span style="color:#669900">=</span> <span style="color:#56b6c2">true</span><span style="color:#999999">,</span>column <span style="color:#669900">=</span> <span style="color:#669900">"id"</span><span style="color:#999999">,</span>property <span style="color:#669900">=</span> <span style="color:#669900">"userId"</span><span style="color:#999999">)</span><span style="color:#999999">,</span>
            <span style="color:#999999">@Result</span><span style="color:#999999">(</span>column <span style="color:#669900">=</span> <span style="color:#669900">"id"</span><span style="color:#999999">,</span>property <span style="color:#669900">=</span> <span style="color:#669900">"userId"</span><span style="color:#999999">)</span><span style="color:#999999">,</span>
            <span style="color:#999999">@Result</span><span style="color:#999999">(</span>column <span style="color:#669900">=</span> <span style="color:#669900">"username"</span><span style="color:#999999">,</span>property <span style="color:#669900">=</span> <span style="color:#669900">"userName"</span><span style="color:#999999">)</span><span style="color:#999999">,</span>
            <span style="color:#999999">@Result</span><span style="color:#999999">(</span>column <span style="color:#669900">=</span> <span style="color:#669900">"sex"</span><span style="color:#999999">,</span>property <span style="color:#669900">=</span> <span style="color:#669900">"userSex"</span><span style="color:#999999">)</span><span style="color:#999999">,</span>
            <span style="color:#999999">@Result</span><span style="color:#999999">(</span>column <span style="color:#669900">=</span> <span style="color:#669900">"birthday"</span><span style="color:#999999">,</span>property <span style="color:#669900">=</span> <span style="color:#669900">"userBirthday"</span><span style="color:#999999">)</span><span style="color:#999999">,</span>
            <span style="color:#999999">@Result</span><span style="color:#999999">(</span>property <span style="color:#669900">=</span> <span style="color:#669900">"accounts"</span> <span style="color:#999999">,</span>column <span style="color:#669900">=</span> <span style="color:#669900">"id"</span><span style="color:#999999">,</span>
                    many <span style="color:#669900">=</span> <span style="color:#999999">@Many</span><span style="color:#999999">(</span>select <span style="color:#669900">=</span> <span style="color:#669900">"com.keafmd.dao.IAccountDao.findAccountByUid"</span><span style="color:#999999">,</span>
                            fetchType <span style="color:#669900">=</span> FetchType<span style="color:#999999">.</span>LAZY<span style="color:#999999">)</span><span style="color:#999999">)</span>

    <span style="color:#999999">}</span><span style="color:#999999">)</span>
    List<span style="color:#61aeee"><span style="color:#999999"><</span>User<span style="color:#999999">></span></span> <span style="color:#61aeee">findAll</span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">;</span>


    <span style="color:#5c6370">/**
     * 根据id查询用户
     * @param userId
     * @return
     */</span>
    <span style="color:#999999">@Select</span><span style="color:#999999">(</span><span style="color:#669900">"select * from user where id=#{id}"</span><span style="color:#999999">)</span>
    <span style="color:#5c6370">//@ResultMap(value={"userMap"})</span>
    <span style="color:#999999">@ResultMap</span><span style="color:#999999">(</span><span style="color:#669900">"userMap"</span><span style="color:#999999">)</span>
    User <span style="color:#61aeee">findById</span><span style="color:#999999">(</span>Integer userId<span style="color:#999999">)</span><span style="color:#999999">;</span>

    <span style="color:#5c6370">/**
     * 根据用户名称模糊查询
     * @param username
     * @return
     */</span>
    <span style="color:#999999">@Select</span><span style="color:#999999">(</span><span style="color:#669900">"select * from user where username like #{username}"</span><span style="color:#999999">)</span> <span style="color:#5c6370">//占位符</span>
    <span style="color:#999999">@ResultMap</span><span style="color:#999999">(</span><span style="color:#669900">"userMap"</span><span style="color:#999999">)</span>
    List<span style="color:#61aeee"><span style="color:#999999"><</span>User<span style="color:#999999">></span></span> <span style="color:#61aeee">findByName</span><span style="color:#999999">(</span>String username<span style="color:#999999">)</span><span style="color:#999999">;</span>


<span style="color:#999999">}</span>
</code></span>

编写测试二级缓存的测试类

<span style="color:#000000"><code class="language-java"><span style="color:#c678dd">package</span> com<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>test<span style="color:#999999">;</span>

<span style="color:#c678dd">import</span> com<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> com<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>domain<span style="color:#999999">.</span>User<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> org<span style="color:#999999">.</span>apache<span style="color:#999999">.</span>ibatis<span style="color:#999999">.</span>io<span style="color:#999999">.</span>Resources<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> org<span style="color:#999999">.</span>apache<span style="color:#999999">.</span>ibatis<span style="color:#999999">.</span>session<span style="color:#999999">.</span>SqlSession<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> org<span style="color:#999999">.</span>apache<span style="color:#999999">.</span>ibatis<span style="color:#999999">.</span>session<span style="color:#999999">.</span>SqlSessionFactory<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> org<span style="color:#999999">.</span>apache<span style="color:#999999">.</span>ibatis<span style="color:#999999">.</span>session<span style="color:#999999">.</span>SqlSessionFactoryBuilder<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> org<span style="color:#999999">.</span>junit<span style="color:#999999">.</span>After<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> org<span style="color:#999999">.</span>junit<span style="color:#999999">.</span>Before<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> org<span style="color:#999999">.</span>junit<span style="color:#999999">.</span>Test<span style="color:#999999">;</span>

<span style="color:#c678dd">import</span> java<span style="color:#999999">.</span>io<span style="color:#999999">.</span>InputStream<span style="color:#999999">;</span>
<span style="color:#c678dd">import</span> java<span style="color:#999999">.</span>util<span style="color:#999999">.</span>List<span style="color:#999999">;</span>

<span style="color:#5c6370">/**
 * Keafmd
 *
 * @ClassName: SecondLevelCatchTest
 * @Description: 二级缓存测试
 * @author: 牛哄哄的柯南
 * @date: 2021-02-16 23:37
 */</span>
<span style="color:#c678dd">public</span> <span style="color:#c678dd">class</span> SecondLevelCatchTest <span style="color:#999999">{</span>
    <span style="color:#c678dd">private</span> InputStream in<span style="color:#999999">;</span>
    <span style="color:#c678dd">private</span> SqlSessionFactory factory<span style="color:#999999">;</span>

    <span style="color:#999999">@Before</span>
    <span style="color:#c678dd">public</span> <span style="color:#c678dd">void</span> <span style="color:#61aeee">init</span><span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#c678dd">throws</span> Exception<span style="color:#999999">{</span>
        in <span style="color:#669900">=</span> Resources<span style="color:#999999">.</span><span style="color:#61aeee">getResourceAsStream</span><span style="color:#999999">(</span><span style="color:#669900">"SqlMapConfig.xml"</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
        factory <span style="color:#669900">=</span> <span style="color:#c678dd">new</span> SqlSessionFactoryBuilder<span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">.</span><span style="color:#61aeee">build</span><span style="color:#999999">(</span>in<span style="color:#999999">)</span><span style="color:#999999">;</span>
    <span style="color:#999999">}</span>

    <span style="color:#999999">@After</span>
    <span style="color:#c678dd">public</span> <span style="color:#c678dd">void</span> <span style="color:#61aeee">destory</span><span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#c678dd">throws</span> Exception<span style="color:#999999">{</span>


        in<span style="color:#999999">.</span><span style="color:#61aeee">close</span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
    <span style="color:#999999">}</span>


    <span style="color:#999999">@Test</span>
    <span style="color:#c678dd">public</span> <span style="color:#c678dd">void</span> <span style="color:#61aeee">testFindOne</span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">{</span>
        SqlSession session <span style="color:#669900">=</span> factory<span style="color:#999999">.</span><span style="color:#61aeee">openSession</span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
        IUserDao userDao <span style="color:#669900">=</span> session<span style="color:#999999">.</span><span style="color:#61aeee">getMapper</span><span style="color:#999999">(</span>IUserDao<span style="color:#999999">.</span><span style="color:#c678dd">class</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
        User user <span style="color:#669900">=</span> userDao<span style="color:#999999">.</span><span style="color:#61aeee">findById</span><span style="color:#999999">(</span><span style="color:#98c379">55</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
        System<span style="color:#999999">.</span>out<span style="color:#999999">.</span><span style="color:#61aeee">println</span><span style="color:#999999">(</span>user<span style="color:#999999">)</span><span style="color:#999999">;</span>

        session<span style="color:#999999">.</span><span style="color:#61aeee">close</span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">;</span><span style="color:#5c6370">//释放一级缓存</span>

        SqlSession session1 <span style="color:#669900">=</span> factory<span style="color:#999999">.</span><span style="color:#61aeee">openSession</span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">;</span><span style="color:#5c6370">//再次打开session</span>
        IUserDao userDao1 <span style="color:#669900">=</span> session1<span style="color:#999999">.</span><span style="color:#61aeee">getMapper</span><span style="color:#999999">(</span>IUserDao<span style="color:#999999">.</span><span style="color:#c678dd">class</span><span style="color:#999999">)</span><span style="color:#999999">;</span>

        User user2 <span style="color:#669900">=</span> userDao1<span style="color:#999999">.</span><span style="color:#61aeee">findById</span><span style="color:#999999">(</span><span style="color:#98c379">55</span><span style="color:#999999">)</span><span style="color:#999999">;</span>
        System<span style="color:#999999">.</span>out<span style="color:#999999">.</span><span style="color:#61aeee">println</span><span style="color:#999999">(</span>user2<span style="color:#999999">)</span><span style="color:#999999">;</span>

        System<span style="color:#999999">.</span>out<span style="color:#999999">.</span><span style="color:#61aeee">println</span><span style="color:#999999">(</span>user<span style="color:#669900">==</span>user2<span style="color:#999999">)</span><span style="color:#999999">;</span>
    <span style="color:#999999">}</span>


<span style="color:#999999">}</span>
</code></span>

不开启二级缓存配置的运行结果:

<span style="color:#000000"><code class="language-java"><span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">119</span> <span style="color:#98c379">320</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Opening JDBC Connection
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">509</span> <span style="color:#98c379">710</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG source<span style="color:#999999">.</span>pooled<span style="color:#999999">.</span>PooledDataSource  <span style="color:#669900">-</span> Created connection <span style="color:#98c379">85445963.</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">510</span> <span style="color:#98c379">711</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Setting autocommit to <span style="color:#56b6c2">false</span> on JDBC Connection <span style="color:#999999">[</span>com<span style="color:#999999">.</span>mysql<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JDBC4Connection<span style="color:#999999">@517cd4b</span><span style="color:#999999">]</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">514</span> <span style="color:#98c379">715</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG m<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">.</span>findById  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span>  Preparing<span style="color:#669900">:</span> select <span style="color:#669900">*</span> from user where id<span style="color:#669900">=</span><span style="color:#669900">?</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">551</span> <span style="color:#98c379">752</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG m<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">.</span>findById  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span> Parameters<span style="color:#669900">:</span> <span style="color:#61aeee">55</span><span style="color:#999999">(</span>Integer<span style="color:#999999">)</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">633</span> <span style="color:#98c379">834</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG m<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">.</span>findById  <span style="color:#669900">-</span> <span style="color:#669900"><=</span><span style="color:#669900">=</span>      Total<span style="color:#669900">:</span> <span style="color:#98c379">1</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">634</span> <span style="color:#98c379">835</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG o<span style="color:#999999">.</span>IAccountDao<span style="color:#999999">.</span>findAccountByUid  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span>  Preparing<span style="color:#669900">:</span> select <span style="color:#669900">*</span> from account where uid <span style="color:#669900">=</span> <span style="color:#669900">?</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">634</span> <span style="color:#98c379">835</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG o<span style="color:#999999">.</span>IAccountDao<span style="color:#999999">.</span>findAccountByUid  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span> Parameters<span style="color:#669900">:</span> <span style="color:#61aeee">55</span><span style="color:#999999">(</span>Integer<span style="color:#999999">)</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">635</span> <span style="color:#98c379">836</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG o<span style="color:#999999">.</span>IAccountDao<span style="color:#999999">.</span>findAccountByUid  <span style="color:#669900">-</span> <span style="color:#669900"><=</span><span style="color:#669900">=</span>      Total<span style="color:#669900">:</span> <span style="color:#98c379">0</span>
User<span style="color:#999999">{</span>userId<span style="color:#669900">=</span><span style="color:#98c379">55</span><span style="color:#999999">,</span> userName<span style="color:#669900">=</span><span style="color:#669900">'mybatis annotation'</span><span style="color:#999999">,</span> userAddress<span style="color:#669900">=</span><span style="color:#669900">'null'</span><span style="color:#999999">,</span> userSex<span style="color:#669900">=</span><span style="color:#669900">'男'</span><span style="color:#999999">,</span> userBirthday<span style="color:#669900">=</span>Tue Feb <span style="color:#98c379">16</span> <span style="color:#98c379">22</span><span style="color:#669900">:</span><span style="color:#98c379">15</span><span style="color:#669900">:</span><span style="color:#98c379">36</span> CST <span style="color:#98c379">2021</span><span style="color:#999999">}</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">635</span> <span style="color:#98c379">836</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Resetting autocommit to <span style="color:#56b6c2">true</span> on JDBC Connection <span style="color:#999999">[</span>com<span style="color:#999999">.</span>mysql<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JDBC4Connection<span style="color:#999999">@517cd4b</span><span style="color:#999999">]</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">636</span> <span style="color:#98c379">837</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Closing JDBC Connection <span style="color:#999999">[</span>com<span style="color:#999999">.</span>mysql<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JDBC4Connection<span style="color:#999999">@517cd4b</span><span style="color:#999999">]</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">636</span> <span style="color:#98c379">837</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG source<span style="color:#999999">.</span>pooled<span style="color:#999999">.</span>PooledDataSource  <span style="color:#669900">-</span> Returned connection <span style="color:#98c379">85445963</span> to pool<span style="color:#999999">.</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">636</span> <span style="color:#98c379">837</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Opening JDBC Connection
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">636</span> <span style="color:#98c379">837</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG source<span style="color:#999999">.</span>pooled<span style="color:#999999">.</span>PooledDataSource  <span style="color:#669900">-</span> Checked out connection <span style="color:#98c379">85445963</span> from pool<span style="color:#999999">.</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">636</span> <span style="color:#98c379">837</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Setting autocommit to <span style="color:#56b6c2">false</span> on JDBC Connection <span style="color:#999999">[</span>com<span style="color:#999999">.</span>mysql<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JDBC4Connection<span style="color:#999999">@517cd4b</span><span style="color:#999999">]</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">636</span> <span style="color:#98c379">837</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG m<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">.</span>findById  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span>  Preparing<span style="color:#669900">:</span> select <span style="color:#669900">*</span> from user where id<span style="color:#669900">=</span><span style="color:#669900">?</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">637</span> <span style="color:#98c379">838</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG m<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">.</span>findById  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span> Parameters<span style="color:#669900">:</span> <span style="color:#61aeee">55</span><span style="color:#999999">(</span>Integer<span style="color:#999999">)</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">639</span> <span style="color:#98c379">840</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG m<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">.</span>findById  <span style="color:#669900">-</span> <span style="color:#669900"><=</span><span style="color:#669900">=</span>      Total<span style="color:#669900">:</span> <span style="color:#98c379">1</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">641</span> <span style="color:#98c379">842</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG o<span style="color:#999999">.</span>IAccountDao<span style="color:#999999">.</span>findAccountByUid  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span>  Preparing<span style="color:#669900">:</span> select <span style="color:#669900">*</span> from account where uid <span style="color:#669900">=</span> <span style="color:#669900">?</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">641</span> <span style="color:#98c379">842</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG o<span style="color:#999999">.</span>IAccountDao<span style="color:#999999">.</span>findAccountByUid  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span> Parameters<span style="color:#669900">:</span> <span style="color:#61aeee">55</span><span style="color:#999999">(</span>Integer<span style="color:#999999">)</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">31</span><span style="color:#669900">:</span><span style="color:#98c379">32</span><span style="color:#999999">,</span><span style="color:#98c379">642</span> <span style="color:#98c379">843</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG o<span style="color:#999999">.</span>IAccountDao<span style="color:#999999">.</span>findAccountByUid  <span style="color:#669900">-</span> <span style="color:#669900"><=</span><span style="color:#669900">=</span>      Total<span style="color:#669900">:</span> <span style="color:#98c379">0</span>
User<span style="color:#999999">{</span>userId<span style="color:#669900">=</span><span style="color:#98c379">55</span><span style="color:#999999">,</span> userName<span style="color:#669900">=</span><span style="color:#669900">'mybatis annotation'</span><span style="color:#999999">,</span> userAddress<span style="color:#669900">=</span><span style="color:#669900">'null'</span><span style="color:#999999">,</span> userSex<span style="color:#669900">=</span><span style="color:#669900">'男'</span><span style="color:#999999">,</span> userBirthday<span style="color:#669900">=</span>Tue Feb <span style="color:#98c379">16</span> <span style="color:#98c379">22</span><span style="color:#669900">:</span><span style="color:#98c379">15</span><span style="color:#669900">:</span><span style="color:#98c379">36</span> CST <span style="color:#98c379">2021</span><span style="color:#999999">}</span>
<span style="color:#56b6c2">false</span>

Process finished with exit code <span style="color:#98c379">0</span>
</code></span>

开启二级缓存配置的运行结果:

<span style="color:#000000"><code class="language-java"><span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">197</span> <span style="color:#98c379">373</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Opening JDBC Connection
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">605</span> <span style="color:#98c379">781</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG source<span style="color:#999999">.</span>pooled<span style="color:#999999">.</span>PooledDataSource  <span style="color:#669900">-</span> Created connection <span style="color:#98c379">500179317.</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">606</span> <span style="color:#98c379">782</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Setting autocommit to <span style="color:#56b6c2">false</span> on JDBC Connection <span style="color:#999999">[</span>com<span style="color:#999999">.</span>mysql<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JDBC4Connection<span style="color:#999999">@1dd02175</span><span style="color:#999999">]</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">617</span> <span style="color:#98c379">793</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG m<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">.</span>findById  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span>  Preparing<span style="color:#669900">:</span> select <span style="color:#669900">*</span> from user where id<span style="color:#669900">=</span><span style="color:#669900">?</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">668</span> <span style="color:#98c379">844</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG m<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">.</span>findById  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span> Parameters<span style="color:#669900">:</span> <span style="color:#61aeee">55</span><span style="color:#999999">(</span>Integer<span style="color:#999999">)</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">777</span> <span style="color:#98c379">953</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG m<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">.</span>findById  <span style="color:#669900">-</span> <span style="color:#669900"><=</span><span style="color:#669900">=</span>      Total<span style="color:#669900">:</span> <span style="color:#98c379">1</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">781</span> <span style="color:#98c379">957</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG o<span style="color:#999999">.</span>IAccountDao<span style="color:#999999">.</span>findAccountByUid  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span>  Preparing<span style="color:#669900">:</span> select <span style="color:#669900">*</span> from account where uid <span style="color:#669900">=</span> <span style="color:#669900">?</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">782</span> <span style="color:#98c379">958</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG o<span style="color:#999999">.</span>IAccountDao<span style="color:#999999">.</span>findAccountByUid  <span style="color:#669900">-</span> <span style="color:#669900">==</span><span style="color:#669900">></span> Parameters<span style="color:#669900">:</span> <span style="color:#61aeee">55</span><span style="color:#999999">(</span>Integer<span style="color:#999999">)</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">782</span> <span style="color:#98c379">958</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG o<span style="color:#999999">.</span>IAccountDao<span style="color:#999999">.</span>findAccountByUid  <span style="color:#669900">-</span> <span style="color:#669900"><=</span><span style="color:#669900">=</span>      Total<span style="color:#669900">:</span> <span style="color:#98c379">0</span>
User<span style="color:#999999">{</span>userId<span style="color:#669900">=</span><span style="color:#98c379">55</span><span style="color:#999999">,</span> userName<span style="color:#669900">=</span><span style="color:#669900">'mybatis annotation'</span><span style="color:#999999">,</span> userAddress<span style="color:#669900">=</span><span style="color:#669900">'null'</span><span style="color:#999999">,</span> userSex<span style="color:#669900">=</span><span style="color:#669900">'男'</span><span style="color:#999999">,</span> userBirthday<span style="color:#669900">=</span>Tue Feb <span style="color:#98c379">16</span> <span style="color:#98c379">22</span><span style="color:#669900">:</span><span style="color:#98c379">15</span><span style="color:#669900">:</span><span style="color:#98c379">36</span> CST <span style="color:#98c379">2021</span><span style="color:#999999">}</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">790</span> <span style="color:#98c379">966</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Resetting autocommit to <span style="color:#56b6c2">true</span> on JDBC Connection <span style="color:#999999">[</span>com<span style="color:#999999">.</span>mysql<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JDBC4Connection<span style="color:#999999">@1dd02175</span><span style="color:#999999">]</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">791</span> <span style="color:#98c379">967</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG ansaction<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JdbcTransaction  <span style="color:#669900">-</span> Closing JDBC Connection <span style="color:#999999">[</span>com<span style="color:#999999">.</span>mysql<span style="color:#999999">.</span>jdbc<span style="color:#999999">.</span>JDBC4Connection<span style="color:#999999">@1dd02175</span><span style="color:#999999">]</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">791</span> <span style="color:#98c379">967</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG source<span style="color:#999999">.</span>pooled<span style="color:#999999">.</span>PooledDataSource  <span style="color:#669900">-</span> Returned connection <span style="color:#98c379">500179317</span> to pool<span style="color:#999999">.</span>
<span style="color:#98c379">2021</span><span style="color:#669900">-</span><span style="color:#98c379">02</span><span style="color:#669900">-</span><span style="color:#98c379">17</span> <span style="color:#98c379">03</span><span style="color:#669900">:</span><span style="color:#98c379">29</span><span style="color:#669900">:</span><span style="color:#98c379">23</span><span style="color:#999999">,</span><span style="color:#98c379">800</span> <span style="color:#98c379">976</span>    <span style="color:#999999">[</span>           main<span style="color:#999999">]</span> DEBUG        com<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao  <span style="color:#669900">-</span> Cache Hit Ratio <span style="color:#999999">[</span>com<span style="color:#999999">.</span>keafmd<span style="color:#999999">.</span>dao<span style="color:#999999">.</span>IUserDao<span style="color:#999999">]</span><span style="color:#669900">:</span> <span style="color:#98c379">0.5</span>
User<span style="color:#999999">{</span>userId<span style="color:#669900">=</span><span style="color:#98c379">55</span><span style="color:#999999">,</span> userName<span style="color:#669900">=</span><span style="color:#669900">'mybatis annotation'</span><span style="color:#999999">,</span> userAddress<span style="color:#669900">=</span><span style="color:#669900">'null'</span><span style="color:#999999">,</span> userSex<span style="color:#669900">=</span><span style="color:#669900">'男'</span><span style="color:#999999">,</span> userBirthday<span style="color:#669900">=</span>Tue Feb <span style="color:#98c379">16</span> <span style="color:#98c379">22</span><span style="color:#669900">:</span><span style="color:#98c379">15</span><span style="color:#669900">:</span><span style="color:#98c379">36</span> CST <span style="color:#98c379">2021</span><span style="color:#999999">}</span>
<span style="color:#56b6c2">false</span>

Process finished with exit code <span style="color:#98c379">0</span>
</code></span>

效果很明显,开启使用二级缓存时第二次并没有发起查询,证明使用的就是二级缓存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值