当前位置: 首页 > news >正文

上海人才网官网站首页必应搜索

上海人才网官网站首页,必应搜索,校园网站源码php,手机游戏制作教程目录 一、说明二、代码示例2.1 pom依赖2.2 示例代码2.3 实体类 三、示例截图 一、说明 1.针对于读多写少的情况 2.先查缓存&#xff0c;没有再去查库 二、代码示例 2.1 pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"h…

目录

        • 一、说明
        • 二、代码示例
          • 2.1 pom依赖
          • 2.2 示例代码
          • 2.3 实体类
        • 三、示例截图

一、说明

  • 1.针对于读多写少的情况
  • 2.先查缓存,没有再去查库

二、代码示例

2.1 pom依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.learning</groupId><artifactId>jdbc</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.21</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.26</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.16</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.26</version></dependency></dependencies>
</project>
2.2 示例代码
package com.learning;import com.alibaba.druid.pool.DruidDataSource;
import org.apache.ibatis.cache.CacheKey;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.ReentrantReadWriteLock;public class DataCache {private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock();private Map<CacheKey, Object> map = new HashMap<>();private static DruidDataSource druidDataSource = new DruidDataSource();private static JdbcTemplate jdbcTemplate;static {druidDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true");druidDataSource.setUsername("root");druidDataSource.setPassword("root");jdbcTemplate = new JdbcTemplate(druidDataSource);}public <T> T queryOne(Class<T> beanClass, String sql, Object... args){// 从缓存中查找,找到则直接返回CacheKey key = new CacheKey(new Object[]{sql, args});reentrantReadWriteLock.readLock().lock();try{T value = (T)map.get(key);if(value != null){return value;}}finally{reentrantReadWriteLock.readLock().unlock();}reentrantReadWriteLock.writeLock().lock();try{// 多个线程,再获取一遍,检查一下,是否有线程写入成功了T value = (T) map.get(key);if(value == null){// 缓存中没有,查询数据库value = queryDatabase(beanClass, sql, args);map.put(key, value);}return value;}finally {reentrantReadWriteLock.writeLock().unlock();}}private <T> T queryDatabase(Class<T> beanClass, String sql, Object[] args) {BeanPropertyRowMapper beanPropertyRowMapper = new BeanPropertyRowMapper<T>();beanPropertyRowMapper.setMappedClass(beanClass);System.out.println("sql:"+sql);List<T> list = jdbcTemplate.query(sql, args, beanPropertyRowMapper);return list.get(0);}public static void main(String[] args) {DataCache dataCache = new DataCache();String sql = "select * from student where id = ?";Object[] param = new Object[]{1};for (int i = 0; i < 10; i++) {new Thread(()->{Student student = dataCache.queryOne(Student.class, sql, param);System.out.println(student);;}).start();}}
}
2.3 实体类
package com.learning;import lombok.Data;@Data
public class Student {private String id;private String name;private int age;
}

三、示例截图

在这里插入图片描述

http://www.15wanjia.com/news/36170.html

相关文章:

  • 如何在网站做电子杂志百度关键词刷排名软件
  • 做网站在厦门排前5名附近电商培训班
  • 网站开发的前端和后端有哪些框架网站域名查询系统
  • 陕西西安网站建设seo论坛
  • 网站用户账号ip查询产品营销推广的方案
  • 湖州建设公司网站广东深圳疫情最新消息
  • 网站建设教程 迅雷下载百度seo工作室
  • 有没有做外贸的网站啊seo内部优化方案
  • 收企业做网站备案seo网站排名的软件
  • 商务网站建设与维护试卷网络培训中心
  • 网站版面做的很好的公司广州seo排名外包
  • web建立虚拟网站互联网广告投放代理公司
  • 知名网站建设在哪里重庆企业免费建站
  • 免费搭建个人网站的3种实用方法小程序平台
  • 填空秒懂网站网址导航
  • wordpress win8广州网站优化外包
  • 上传网站备案信息真实性核验单一站式软文发布推广平台
  • 重庆网站备案最快几天江门搜狗网站推广优化
  • 网站群管理系统哪个好网络营销的一般流程
  • 全国蔬莱网站建设北京cms建站模板
  • 安卓开发框架最新seo黑帽技术工具软件
  • 企业网站例子信息流推广渠道有哪些
  • 武汉专注于企业网站服务seo零基础视频教程
  • wordpress添加媒体没反应seo中文
  • 网页设计网站结构图怎么弄推广策略及推广方式
  • 沧州网站建设的集成商快速排名推荐
  • 做设计的最后都转行到哪里了沈阳seo博客
  • 如何购买网站虚拟主机2023年5月份病毒感染情况
  • 做外包哪个网站好一些数据分析培训班
  • wordpress直接上传视频网站吗哈尔滨seo公司