【过程记录】springboot中使用EhcacheCache+mybatis
- 目录和依赖
- 相关配置
- 增删改查操作
- 测试类:
- 一些注意点
目录和依赖

<dependencies><dependency><groupId>log4jgroupId><artifactId>log4jartifactId><version>1.2.17version>dependency><dependency><groupId>mysqlgroupId><artifactId>mysql-connector-javaartifactId><version>5.1.47version>dependency><dependency><groupId>org.mybatisgroupId><artifactId>mybatisartifactId><version>3.5.2version>dependency><dependency><groupId>org.slf4jgroupId><artifactId>slf4j-log4j12artifactId><version>2.0.0-alpha1version><scope>testscope>dependency><dependency><groupId>junitgroupId><artifactId>junitartifactId><version>4.12version>dependency>dependencies><build><resources><resource><directory>src/main/resourcesdirectory><includes><include>**/*.propertiesinclude><include>**/*.xmlinclude>includes><filtering>truefiltering>resource><resource><directory>src/main/javadirectory><includes><include>**/*.propertiesinclude><include>**/*.xmlinclude>includes><filtering>truefiltering>resource>resources>build>
数据表:

相关配置
1.mybatis-config.xml
DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><properties resource="db.properties"/><settings><setting name="mapUnderscoreToCamelCase" value="true"/><setting name="cacheEnabled" value="true"/><setting name="logImpl" value="STDOUT_LOGGING"/>settings><typeAliases><typeAlias type="com.hou.pojo.User" alias="User">typeAlias>typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/>dataSource>environment>environments><mappers><mapper class="com.hou.mapper.UserMapper">mapper>mappers>
configuration>
2.log4j.properties
log4j.rootLogger=debug, stdout, Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.loglog4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=5log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
3.ehcache.xml
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"updateCheck="false"><diskStore path="java.io.tmpdir/Tmp_EhCache"/><defaultCacheeternal="false"maxElementsInMemory="10000"overflowToDisk="false"diskPersistent="false"timeToIdleSeconds="1800"timeToLiveSeconds="259200"memoryStoreEvictionPolicy="LRU"/><cachename="cloud_user"eternal="false"maxElementsInMemory="5000"overflowToDisk="false"diskPersistent="false"timeToIdleSeconds="1800"timeToLiveSeconds="1800"memoryStoreEvictionPolicy="LRU"/>ehcache>
db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3308/data1?userSSL=true&userUnicode=true&characterEncoding=UTF-8
username=heziyi
password=123456
mybatis配置:
//sqlSessionFactory --> sqlSession
public class MybatisUtils {private static SqlSessionFactory sqlSessionFactory;static {try {//使用mybatis第一步:获取sqlSessionFactory对象String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}public static SqlSession getSqlSession(){return sqlSessionFactory.openSession(true);}}
增删改查操作
pojo:
@Data
public class User implements Serializable {private int id;private String name;private String pwd;public User(int id, String name, String pwd) {this.id = id;this.name = name;this.pwd = pwd;}
}
mapper和接口:
public interface UserMapper {User queryUserByid(@Param("id") int id);}
DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.hou.mapper.UserMapper"><cache type="org.mybatis.caches.ehcache.EhcacheCache"/><select id="queryUserByid" resultType="User">select * from data1.user where id = #{id}select><update id="updateUser" parameterType="User">update data1.user set name=#{name}, pwd=#{pwd} where id=#{id}update>
mapper>
测试类:
public class MyTest {@Testpublic void addBlog(){SqlSession sqlSession = MybatisUtils.getSqlSession();SqlSession sqlSession1 = MybatisUtils.getSqlSession();UserMapper userMapper = sqlSession.getMapper(UserMapper.class);User user = userMapper.queryUserByid(1);System.out.println(user);sqlSession.close();UserMapper userMapper1 = sqlSession1.getMapper(UserMapper.class);User user1 = userMapper1.queryUserByid(1);System.out.println(user1);//User(id=1, name=你好, pwd=345678)System.out.println(user==user1);//trueUser u3 = userMapper1.queryUserByid(2);System.out.println(u3);sqlSession1.close();}}
运行结果:

一些注意点



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
