(二期)3、mybatis與mybatis plus
三個組件
SqlSessionFactoryBuilder與SqlSessionFactory、SqlSession
SqlSessionFactoryBuilder
SqlSessionFactory
SqlSession
<setting name="cacheEnabled" value="true"/>
<mapper namespace="userMapper">
<cache />
<result ... />
<select ... />
</mapper>
<select id="findUserById" parameterType="int" resultMap="user" useCache="true">
select * from users where id=#{id};
</select>
第一步:導入pom
<dependency>
<groupId>org.mybatis.caches</groupId>
<artifactId>mybatis-ehcache</artifactId>
<version>1.1.0</version>
</dependency>
第二步:配置ehcache
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd">
<diskStore path="java.io.tmpdir/Tmp_EhCache" />
<defaultCache eternal="false" maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
timeToIdleSeconds="0" timeToLiveSeconds="3600" memoryStoreEvictionPolicy="LRU" />
<cache name="content"
maxEntriesLocalHeap="200"
timeToLiveSeconds="3600">
</cache>
</ehcache>
spring.cache.ehcache.config=classpath:ehcache.xml
第三步:mybatis的xml中使用ehcache
<cache type="org.mybatis.caches.ehcache.EhcacheCache" >
<!--當緩存閑置n秒后銷毀 -->
<property name="timeToIdleSeconds" value="3600"/>
<!--當緩存存活n秒后銷毀-->
<property name="timeToLiveSeconds" value="3600"/>
<property name="maxEntriesLocalHeap" value="1000"/>
<property name="maxEntriesLocalDisk" value="10000000"/>
<property name="memoryStoreEvictionPolicy" value="LRU"/>
</cache>
information_schema表說明
第一種方法:
select * from information_schema.TABLES where TABLE_SCHEMA=(select database())
第二種方法:
#獲取表信息
show table status
第一種方法:
select * from information_schema.COLUMNS where TABLE_SCHEMA = (select database()) and TABLE_NAME=#{tableName}
第二種方法:
show full fields from `student`;
<environments default="development">
<environment id="development">
<!--使用默認的JDBC事務管理-->
<transactionManager type="JDBC"/>
<!--使用連接池-->
<dataSource type="POOLED">
<!--這里會替換為local-mysql.properties中的對應字段的值-->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
<environment id="development2">
<!--使用默認的JDBC事務管理-->
<transactionManager type="JDBC"/>
<!--使用連接池-->
<dataSource type="POOLED">
<!--這里會替換為local-mysql.properties中的對應字段的值-->
<property name="driver" value="${driver}"/>
<property name="url" value="${url2}"/>
<property name="username" value="${username2}"/>
<property name="password" value="${password2}"/>
</dataSource>
</environment>
</environments>
https://gitee.com/lv-success/git-second/tree/master/course-3-mybatis/mybatisPlusDemo