1.在maven引入相关的依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0..RELEASE</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.</version>
</dependency>
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 支持 @ConfigurationProperties 注解 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.</version>
</dependency>
<!-- mysql连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.</version>
</dependency>
2.SpringBoot加载文件application.yml

mysql-connector-java6.0的url需要加载时区,driverClassName变为com.mysql.cj.jdbc.Driver。redis的密码在redis.config中修改。

com.mysql.cj.jdbc.Driver
server:
port:
session-timeout:
tomcat.max-threads:
tomcat.uri-encoding: UTF-
spring:
datasource:
type : com.alibaba.druid.pool.DruidDataSource
url : jdbc:mysql://localhost:3306/book_store?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
username : root
password : root
driverClassName : com.mysql.cj.jdbc.Driver
initialSize :
minIdle :
maxActive :
maxWait :
timeBetweenEvictionRunsMillis :
minEvictableIdleTimeMillis :
validationQuery : SELECT FROM DUAL
testWhileIdle : true
testOnBorrow : false
testOnReturn : false
poolPreparedStatements : true
maxPoolPreparedStatementPerConnectionSize :
filters : stat,wall
connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis :
useGlobalDataSourceStat : true mybatis:
type-aliases-package: com.qyj.entity
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
http:
encoding:
force : true
charset : UTF-
enables : true thymeleaf:
cache: false
mode: HTML5
prefix: classpath\:/static/
suffix: .html
encoding: UTF-
content: text/html redis:
host: 127.0.0.1
port:
password:
timeout:
3.mybatis配置类MybatisConfig
@Configuration
@EnableTransactionManagement
public class MyBatisConfig implements TransactionManagementConfigurer {
@Autowired
DataSource dataSource;
   //注入pageHelper
@Bean
public PageInterceptor pageInterceptor() throws IOException {
PageInterceptor pageInterceptor = new PageInterceptor();
Properties props = new Properties();
props.setProperty("reasonable", "true");
props.setProperty("supportMethodsArguments", "true");
props.setProperty("returnPageInfo", "check");
props.setProperty("params", "count=countSql");
pageInterceptor.setProperties(props);
return pageInterceptor;
} @Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
} @Bean
@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
return new DataSourceTransactionManager(dataSource);
}
}
4.redis配置(参考springboot2.0文档所写)
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.timeout}")
private int timeout;
@Value("${spring.redis.password}")
private String password;
@Bean
public KeyGenerator wiselyKeyGenerator(){//主键生成策咯
return new KeyGenerator() {
@Override
public Object generate(Object target, Method method, Object... params) {
StringBuilder sb = new StringBuilder();
sb.append(target.getClass().getName());
sb.append(method.getName());
for (Object obj : params) {
sb.append(obj.toString());
}
return sb.toString();
}
};
} @Bean
@ConditionalOnMissingBean(StringRedisTemplate.class)
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
StringRedisTemplate template = new StringRedisTemplate();
template.setConnectionFactory(redisConnectionFactory);
return template;
} @Bean
public RedisConnectionFactory redisConnectionFactory() {
RedisStandaloneConfiguration factory = new RedisStandaloneConfiguration();
factory.setHostName(host);
factory.setPort(port);
factory.setPassword(RedisPassword.of(password));
return new JedisConnectionFactory(factory);
} }
5.Service(PageHelp5.0用法)
@Cacheable("queryGgdmDataList")
public ResponseData queryGgdmDataList(Map<String, Object> queryParams) {
int index = Integer.parseInt(queryParams.get("page").toString());
int size = Integer.parseInt(queryParams.get("rows").toString());
PageHelper.startPage(index, size);
StringBuilder sql = new StringBuilder();
List<Map<String,Object>> commList = mybatisDao.queryListDataBySql(sql.toString());
PageInfo page = new PageInfo(commList) ;
List list = page.getList();
ResponseData pageResult = new ResponseData((int) page.getTotal(), list);
return pageResult;
}
6.SpringBoot启动
@SpringBootApplication
@ServletComponentScan
@EnableAutoConfiguration
@MapperScan("xx.xx.dao")//扫描的Dao层
public class ApplicationSpringBoot {
public static void main(String[] args) {
SpringApplication.run(ApplicationSpringBoot.class,args);
} }
7.Controller采用Restful风格
@RestController
@RequestMapping("/framework")
public class CommController {
@RequestMapping( value = "/bzfl/getComboxData", method =
RequestMethod.GET)
@ResponseBody
public List<Map<String,Object>> getComboxData(@RequestParam String ssfl){
return commService.getComboxData(ssfl);
}
}
9.数据缓存到redis(工具Redis Resktop Manager)

SpringBoot2.0+Mybatis+PageHelper+Redis实现缓存的更多相关文章

  1. springboot2.0+mybatis多数据源集成

    最近在学springboot,把学的记录下来.主要有springboot2.0+mybatis多数据源集成,logback日志集成,springboot单元测试. 一.代码结构如下 二.pom.xml ...

  2. spring-boot-2.0.3之redis缓存实现,不是你想的那样哦!

    前言 开心一刻 小白问小明:“你前面有一个5米深的坑,里面没有水,如果你跳进去后该怎样出来了?”小明:“躺着出来呗,还能怎么出来?”小白:“为什么躺着出来?”小明:“5米深的坑,还没有水,跳下去不死就 ...

  3. (六)SpringBoot2.0基础篇- Redis整合(JedisCluster集群连接)

    一.环境 Redis:4.0.9 SpringBoot:2.0.1 Redis安装:Linux(Redhat)安装Redis 二.SpringBoot整合Redis 1.项目基本搭建: 我们基于(五) ...

  4. Mybatis使用Redis二级缓存

    在Mybatis中允许开发者自定义自己的缓存,本文将使用Redis作为Mybatis的二级缓存.在Mybatis中定义二级缓存,需要如下配置: 1. MyBatis支持二级缓存的总开关:全局配置变量参 ...

  5. mybatis整合redis二级缓存

    mybatis默认开启了二级缓存功能,在mybatis主配置文件中,将cacheEnabled设置成false,则会关闭二级缓存功能 <settings> <!--二级缓存默认开启, ...

  6. SpringBoot2.0之五 优雅整合SpringBoot2.0+MyBatis+druid+PageHelper

    上篇文章我们介绍了SpringBoot和MyBatis的整合,可以说非常简单快捷的就搭建了一个web项目,但是在一个真正的企业级项目中,可能我们还需要更多的更加完善的框架才能开始真正的开发,比如连接池 ...

  7. SpringBoot + MySQL + MyBatis 整合 Redis 实现缓存操作

    本地安装 Redis Redis 安装:https://www.cnblogs.com/oukele/p/11373052.html 项目结构:  SpringBootRedis 工程项目结构如下: ...

  8. springboot2.0 Mybatis 整合

    原文:https://blog.csdn.net/Winter_chen001/article/details/80010967 环境/版本一览: 开发工具:Intellij IDEA 2017.1. ...

  9. SSM+redis整合(mybatis整合redis做二级缓存)

    SSM:是Spring+Struts+Mybatis ,另外还使用了PageHelper 前言: 这里主要是利用redis去做mybatis的二级缓存,mybaits映射文件中所有的select都会刷 ...

随机推荐

  1. find命令用法集锦

    find命令用法: 01--过滤日志find -name "catelina.*.out"|xargs -f |grep '关键字' 02 -忽略一个目录或者多个目录find ./ ...

  2. 02-oracle字符函数

    字符函数(scott/tiger 登陆) --upper(col name)将字符大写 --lower(col name)将字符小写 --initcap(col name)字符串的首字母大写,其余小写 ...

  3. mysql故障总结

    MYSQL故障排查 https://zhuanlan.zhihu.com/p/27834293

  4. Delphi 统计Word文档中的字数

    急待解决的问题就是如何用delphi实现word中的统计字数 另外想多了解一些关于操作word的相关内容 比如用ole动态创建的和TWordApplication的偏重点在哪里,有什么不同等等…… 用 ...

  5. spring、springmvc和mybatis整合(java config方式)

    之前项目中使用ssm框架大多是基于xml的方式,spring3.0以后就提供java config的模式来构建项目,并且也推荐使用这种方式,自从接触过springboot后,深深感受到这种纯java配 ...

  6. ES6基本语法之let和const

    1.var可以重复声明 var a = 12; var a = 5; alert(a) //5 2.var无法限制修改 如:PI = 3.1415: 3.var没有块级作用域 { } 像: if(){ ...

  7. 九度oj题目1019:简单计算器

    题目1019:简单计算器 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6346 解决:2334 题目描述:     读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达 ...

  8. win8及以上2012 R2,virtualbox 5.0.20安装centOS6以上各种注意事项

    问题: Virtul Box 安装增强功能时, 未能加载虚拟光盘VBoxGuestAdditions.iso 1.先下载适合win8及2012 R2以上系统适用的virtualbox最新版5.0.20 ...

  9. Razor 将C#对象转换成Javascript对象, json还原被转码的字符 &quot·· HTML转义符

    Razor 将C#对象转换成Javascript对象 在Razor中使用Json字符串,特殊字符被自动转义(如:\"->") @{ var jsonStr = Html.Ra ...

  10. MySql 双实例安装

    1.官网下载压缩包 https://dev.mysql.com/downloads/mysql/ 2.解压到D盘 3.修改my.ini 文件 [mysql] # 设置mysql客户端默认字符集 def ...