日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java中的使用及連接Redis數據庫(附源碼)

瀏覽:70日期:2022-08-24 11:31:56

引言:

本文主要分享了Redis如何在IDEA中部署,運行;模擬加入Redis的操作;

目錄結構

Java中的使用及連接Redis數據庫(附源碼)

1. 在IDEA中搭建Redis

1.1 創建項目

新建含有web的SpringBoot項目;

搭建項目參考:SpringBoot超詳細筆記:https://blog.csdn.net/weixin_42601136/article/details/108396511

Java中的使用及連接Redis數據庫(附源碼)

1.2 添加依賴(不夠手動添加)

<dependencies> <!-- 1、 Jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <!-- 2、 Junit測試--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency></dependencies>

1.3 測試環境是否搭建成功

@Test public void test0() { //連接Redis Jedis jedis = new Jedis('127.0.0.1', 6379); //獲取kak String kaka = jedis.get('kak'); log.info(kaka); //創建datex String datex = jedis.set('datex', new Date().toString()); //獲取datex String datex1 = jedis.get('datex'); log.info(datex1); //關閉資源 jedis.close(); }

Java中的使用及連接Redis數據庫(附源碼)

1.4 利用json存儲數據

@Test public void test1() { JedisPool pool = new JedisPool('127.0.0.1', 6379); Jedis jedis = pool.getResource(); Student student = new Student(1001, 'kak', 'man', '20'); String key = 'student'; String field = '1001'; String s = JsonUtils.objectToJson(student); String value = s; jedis.hset(key, field, value); String hget = jedis.hget(key, field); log.info(hget); jedis.close(); }

Java中的使用及連接Redis數據庫(附源碼)

1.5 以byte的形式存儲對象

@Test public void test02() { //連接redis Jedis jedis = new Jedis('127.0.0.1', 6379); String key = 'Student'; Student value = new Student(1002, 'taotao', 'woman', '20'); //將key和value轉換為byte[] byte[] byteKey = SerializationUtils.serialize(key); byte[] byteValue = SerializationUtils.serialize(value); //將key和value存儲到redis中 jedis.set(byteKey, byteValue); //獲取value值 byte[] bytes = jedis.get(byteKey); //bytes反序列化為Student對象 Student stu = (Student) SerializationUtils.deserialize(bytes); System.out.println(stu); jedis.close(); }

Java中的使用及連接Redis數據庫(附源碼)

1.6 加入連接池的操作

使用連接池操作,可以避免頻繁的創建和銷毀連接對象的消耗資源

@Test public void test3(){ //創建連接池 GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setMaxTotal(100);//連接池中的最大活躍數 poolConfig.setMaxIdle(10);//最大空閑數 poolConfig.setMinIdle(5);//最小空閑數 poolConfig.setMaxWaitMillis(3000);//連接池空了,3000毫秒后沒有獲取Jedis對象,超時 //創建連接池 JedisPool pool = new JedisPool(poolConfig,'127.0.0.1',6379); //通過連接池獲取Jedis對象 Jedis resource = pool.getResource(); //獲取上面添加的datex String value = resource.get('datex'); log.info(value); resource.close(); }

Java中的使用及連接Redis數據庫(附源碼)

1.7 管道操作

Redis的管道操作,執行一個命令需要先發送請求到Redis,需要經歷網絡延遲,Redis還需給客戶端一個響應;如果需要一次操作多個命令,可以通過管道,將命令放到客戶端的一個Pipeline中,之后一次將命令發送到服務端,服務端一次性返回到客戶端;

@Test public void test3(){ //創建連接池 GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setMaxTotal(100);//連接池中的最大活躍數 poolConfig.setMaxIdle(10);//最大空閑數 poolConfig.setMinIdle(5);//最小空閑數 poolConfig.setMaxWaitMillis(3000);//連接池空了,3000毫秒后沒有獲取Jedis對象,超時 //創建連接池 JedisPool pool = new JedisPool(poolConfig,'127.0.0.1',6379); //通過連接池獲取Jedis對象 Jedis resource = pool.getResource(); //獲取上面添加的datex String value = resource.get('datex'); log.info(value); resource.close(); }

Java中的使用及連接Redis數據庫(附源碼)

2. 從數據中查詢數據

場景:

將數據存入Redis中,避免訪問量過大,造成數據庫奔潰;

2.1 生成實體類

@Test public void test3(){ //創建連接池 GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setMaxTotal(100);//連接池中的最大活躍數 poolConfig.setMaxIdle(10);//最大空閑數 poolConfig.setMinIdle(5);//最小空閑數 poolConfig.setMaxWaitMillis(3000);//連接池空了,3000毫秒后沒有獲取Jedis對象,超時 //創建連接池 JedisPool pool = new JedisPool(poolConfig,'127.0.0.1',6379); //通過連接池獲取Jedis對象 Jedis resource = pool.getResource(); //獲取上面添加的datex String value = resource.get('datex'); log.info(value); resource.close(); }

2.2 生成實體模板類

package com.sx.kak.po;import java.util.ArrayList;import java.util.List;public class StudentExample { protected String orderByClause; protected boolean distinct; protected List<Criteria> oredCriteria; public StudentExample() { oredCriteria = new ArrayList<Criteria>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List<Criteria> getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List<Criterion> criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<Criterion>(); } public boolean isValid() { return criteria.size() > 0; } public List<Criterion> getAllCriteria() { return criteria; } public List<Criterion> getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) {throw new RuntimeException('Value for condition cannot be null'); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) {throw new RuntimeException('Value for ' + property + ' cannot be null'); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) {throw new RuntimeException('Between values for ' + property + ' cannot be null'); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion('id is null'); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion('id is not null'); return (Criteria) this; } public Criteria andIdEqualTo(Integer value) { addCriterion('id =', value, 'id'); return (Criteria) this; } public Criteria andIdNotEqualTo(Integer value) { addCriterion('id <>', value, 'id'); return (Criteria) this; } public Criteria andIdGreaterThan(Integer value) { addCriterion('id >', value, 'id'); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Integer value) { addCriterion('id >=', value, 'id'); return (Criteria) this; } public Criteria andIdLessThan(Integer value) { addCriterion('id <', value, 'id'); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Integer value) { addCriterion('id <=', value, 'id'); return (Criteria) this; } public Criteria andIdIn(List<Integer> values) { addCriterion('id in', values, 'id'); return (Criteria) this; } public Criteria andIdNotIn(List<Integer> values) { addCriterion('id not in', values, 'id'); return (Criteria) this; } public Criteria andIdBetween(Integer value1, Integer value2) { addCriterion('id between', value1, value2, 'id'); return (Criteria) this; } public Criteria andIdNotBetween(Integer value1, Integer value2) { addCriterion('id not between', value1, value2, 'id'); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion('NAME is null'); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion('NAME is not null'); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion('NAME =', value, 'name'); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion('NAME <>', value, 'name'); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion('NAME >', value, 'name'); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion('NAME >=', value, 'name'); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion('NAME <', value, 'name'); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion('NAME <=', value, 'name'); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion('NAME like', value, 'name'); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion('NAME not like', value, 'name'); return (Criteria) this; } public Criteria andNameIn(List<String> values) { addCriterion('NAME in', values, 'name'); return (Criteria) this; } public Criteria andNameNotIn(List<String> values) { addCriterion('NAME not in', values, 'name'); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion('NAME between', value1, value2, 'name'); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion('NAME not between', value1, value2, 'name'); return (Criteria) this; } public Criteria andSexIsNull() { addCriterion('sex is null'); return (Criteria) this; } public Criteria andSexIsNotNull() { addCriterion('sex is not null'); return (Criteria) this; } public Criteria andSexEqualTo(String value) { addCriterion('sex =', value, 'sex'); return (Criteria) this; } public Criteria andSexNotEqualTo(String value) { addCriterion('sex <>', value, 'sex'); return (Criteria) this; } public Criteria andSexGreaterThan(String value) { addCriterion('sex >', value, 'sex'); return (Criteria) this; } public Criteria andSexGreaterThanOrEqualTo(String value) { addCriterion('sex >=', value, 'sex'); return (Criteria) this; } public Criteria andSexLessThan(String value) { addCriterion('sex <', value, 'sex'); return (Criteria) this; } public Criteria andSexLessThanOrEqualTo(String value) { addCriterion('sex <=', value, 'sex'); return (Criteria) this; } public Criteria andSexLike(String value) { addCriterion('sex like', value, 'sex'); return (Criteria) this; } public Criteria andSexNotLike(String value) { addCriterion('sex not like', value, 'sex'); return (Criteria) this; } public Criteria andSexIn(List<String> values) { addCriterion('sex in', values, 'sex'); return (Criteria) this; } public Criteria andSexNotIn(List<String> values) { addCriterion('sex not in', values, 'sex'); return (Criteria) this; } public Criteria andSexBetween(String value1, String value2) { addCriterion('sex between', value1, value2, 'sex'); return (Criteria) this; } public Criteria andSexNotBetween(String value1, String value2) { addCriterion('sex not between', value1, value2, 'sex'); return (Criteria) this; } public Criteria andAgeIsNull() { addCriterion('age is null'); return (Criteria) this; } public Criteria andAgeIsNotNull() { addCriterion('age is not null'); return (Criteria) this; } public Criteria andAgeEqualTo(String value) { addCriterion('age =', value, 'age'); return (Criteria) this; } public Criteria andAgeNotEqualTo(String value) { addCriterion('age <>', value, 'age'); return (Criteria) this; } public Criteria andAgeGreaterThan(String value) { addCriterion('age >', value, 'age'); return (Criteria) this; } public Criteria andAgeGreaterThanOrEqualTo(String value) { addCriterion('age >=', value, 'age'); return (Criteria) this; } public Criteria andAgeLessThan(String value) { addCriterion('age <', value, 'age'); return (Criteria) this; } public Criteria andAgeLessThanOrEqualTo(String value) { addCriterion('age <=', value, 'age'); return (Criteria) this; } public Criteria andAgeLike(String value) { addCriterion('age like', value, 'age'); return (Criteria) this; } public Criteria andAgeNotLike(String value) { addCriterion('age not like', value, 'age'); return (Criteria) this; } public Criteria andAgeIn(List<String> values) { addCriterion('age in', values, 'age'); return (Criteria) this; } public Criteria andAgeNotIn(List<String> values) { addCriterion('age not in', values, 'age'); return (Criteria) this; } public Criteria andAgeBetween(String value1, String value2) { addCriterion('age between', value1, value2, 'age'); return (Criteria) this; } public Criteria andAgeNotBetween(String value1, String value2) { addCriterion('age not between', value1, value2, 'age'); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List<?>) {this.listValue = true; } else {this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } }}

2.3 生成studentMapper.java

package com.sx.kak.po;import java.util.ArrayList;import java.util.List;public class StudentExample { protected String orderByClause; protected boolean distinct; protected List<Criteria> oredCriteria; public StudentExample() { oredCriteria = new ArrayList<Criteria>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List<Criteria> getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List<Criterion> criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<Criterion>(); } public boolean isValid() { return criteria.size() > 0; } public List<Criterion> getAllCriteria() { return criteria; } public List<Criterion> getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) {throw new RuntimeException('Value for condition cannot be null'); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) {throw new RuntimeException('Value for ' + property + ' cannot be null'); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) {throw new RuntimeException('Between values for ' + property + ' cannot be null'); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion('id is null'); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion('id is not null'); return (Criteria) this; } public Criteria andIdEqualTo(Integer value) { addCriterion('id =', value, 'id'); return (Criteria) this; } public Criteria andIdNotEqualTo(Integer value) { addCriterion('id <>', value, 'id'); return (Criteria) this; } public Criteria andIdGreaterThan(Integer value) { addCriterion('id >', value, 'id'); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Integer value) { addCriterion('id >=', value, 'id'); return (Criteria) this; } public Criteria andIdLessThan(Integer value) { addCriterion('id <', value, 'id'); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Integer value) { addCriterion('id <=', value, 'id'); return (Criteria) this; } public Criteria andIdIn(List<Integer> values) { addCriterion('id in', values, 'id'); return (Criteria) this; } public Criteria andIdNotIn(List<Integer> values) { addCriterion('id not in', values, 'id'); return (Criteria) this; } public Criteria andIdBetween(Integer value1, Integer value2) { addCriterion('id between', value1, value2, 'id'); return (Criteria) this; } public Criteria andIdNotBetween(Integer value1, Integer value2) { addCriterion('id not between', value1, value2, 'id'); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion('NAME is null'); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion('NAME is not null'); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion('NAME =', value, 'name'); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion('NAME <>', value, 'name'); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion('NAME >', value, 'name'); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion('NAME >=', value, 'name'); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion('NAME <', value, 'name'); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion('NAME <=', value, 'name'); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion('NAME like', value, 'name'); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion('NAME not like', value, 'name'); return (Criteria) this; } public Criteria andNameIn(List<String> values) { addCriterion('NAME in', values, 'name'); return (Criteria) this; } public Criteria andNameNotIn(List<String> values) { addCriterion('NAME not in', values, 'name'); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion('NAME between', value1, value2, 'name'); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion('NAME not between', value1, value2, 'name'); return (Criteria) this; } public Criteria andSexIsNull() { addCriterion('sex is null'); return (Criteria) this; } public Criteria andSexIsNotNull() { addCriterion('sex is not null'); return (Criteria) this; } public Criteria andSexEqualTo(String value) { addCriterion('sex =', value, 'sex'); return (Criteria) this; } public Criteria andSexNotEqualTo(String value) { addCriterion('sex <>', value, 'sex'); return (Criteria) this; } public Criteria andSexGreaterThan(String value) { addCriterion('sex >', value, 'sex'); return (Criteria) this; } public Criteria andSexGreaterThanOrEqualTo(String value) { addCriterion('sex >=', value, 'sex'); return (Criteria) this; } public Criteria andSexLessThan(String value) { addCriterion('sex <', value, 'sex'); return (Criteria) this; } public Criteria andSexLessThanOrEqualTo(String value) { addCriterion('sex <=', value, 'sex'); return (Criteria) this; } public Criteria andSexLike(String value) { addCriterion('sex like', value, 'sex'); return (Criteria) this; } public Criteria andSexNotLike(String value) { addCriterion('sex not like', value, 'sex'); return (Criteria) this; } public Criteria andSexIn(List<String> values) { addCriterion('sex in', values, 'sex'); return (Criteria) this; } public Criteria andSexNotIn(List<String> values) { addCriterion('sex not in', values, 'sex'); return (Criteria) this; } public Criteria andSexBetween(String value1, String value2) { addCriterion('sex between', value1, value2, 'sex'); return (Criteria) this; } public Criteria andSexNotBetween(String value1, String value2) { addCriterion('sex not between', value1, value2, 'sex'); return (Criteria) this; } public Criteria andAgeIsNull() { addCriterion('age is null'); return (Criteria) this; } public Criteria andAgeIsNotNull() { addCriterion('age is not null'); return (Criteria) this; } public Criteria andAgeEqualTo(String value) { addCriterion('age =', value, 'age'); return (Criteria) this; } public Criteria andAgeNotEqualTo(String value) { addCriterion('age <>', value, 'age'); return (Criteria) this; } public Criteria andAgeGreaterThan(String value) { addCriterion('age >', value, 'age'); return (Criteria) this; } public Criteria andAgeGreaterThanOrEqualTo(String value) { addCriterion('age >=', value, 'age'); return (Criteria) this; } public Criteria andAgeLessThan(String value) { addCriterion('age <', value, 'age'); return (Criteria) this; } public Criteria andAgeLessThanOrEqualTo(String value) { addCriterion('age <=', value, 'age'); return (Criteria) this; } public Criteria andAgeLike(String value) { addCriterion('age like', value, 'age'); return (Criteria) this; } public Criteria andAgeNotLike(String value) { addCriterion('age not like', value, 'age'); return (Criteria) this; } public Criteria andAgeIn(List<String> values) { addCriterion('age in', values, 'age'); return (Criteria) this; } public Criteria andAgeNotIn(List<String> values) { addCriterion('age not in', values, 'age'); return (Criteria) this; } public Criteria andAgeBetween(String value1, String value2) { addCriterion('age between', value1, value2, 'age'); return (Criteria) this; } public Criteria andAgeNotBetween(String value1, String value2) { addCriterion('age not between', value1, value2, 'age'); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List<?>) {this.listValue = true; } else {this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } }}

2.4 生成StudentMapper.xml

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-mapper.dtd' ><mapper namespace='com.sx.kak.mapper.StudentMapper' > <resultMap type='com.sx.kak.po.Student' > <id column='id' property='id' jdbcType='INTEGER' /> <result column='NAME' property='name' jdbcType='VARCHAR' /> <result column='sex' property='sex' jdbcType='VARCHAR' /> <result column='age' property='age' jdbcType='VARCHAR' /> </resultMap> <sql > <where > <foreach collection='oredCriteria' item='criteria' separator='or' > <if test='criteria.valid' > <trim prefix='(' suffix=')' prefixOverrides='and' > <foreach collection='criteria.criteria' item='criterion' > <choose ><when test='criterion.noValue' > and ${criterion.condition}</when><when test='criterion.singleValue' > and ${criterion.condition} #{criterion.value}</when><when test='criterion.betweenValue' > and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}</when><when test='criterion.listValue' > and ${criterion.condition} <foreach collection='criterion.value' item='listItem' open='(' close=')' separator=',' > #{listItem} </foreach></when> </choose> </foreach> </trim> </if> </foreach> </where> </sql> <sql > <where > <foreach collection='example.oredCriteria' item='criteria' separator='or' > <if test='criteria.valid' > <trim prefix='(' suffix=')' prefixOverrides='and' > <foreach collection='criteria.criteria' item='criterion' > <choose ><when test='criterion.noValue' > and ${criterion.condition}</when><when test='criterion.singleValue' > and ${criterion.condition} #{criterion.value}</when><when test='criterion.betweenValue' > and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}</when><when test='criterion.listValue' > and ${criterion.condition} <foreach collection='criterion.value' item='listItem' open='(' close=')' separator=',' > #{listItem} </foreach></when> </choose> </foreach> </trim> </if> </foreach> </where> </sql> <sql > id, NAME, sex, age </sql> <select resultMap='BaseResultMap' parameterType='com.sx.kak.po.StudentExample' > select <if test='distinct' > distinct </if> <include refid='Base_Column_List' /> from student <if test='_parameter != null' > <include refid='Example_Where_Clause' /> </if> <if test='orderByClause != null' > order by ${orderByClause} </if> </select> <select resultMap='BaseResultMap' parameterType='java.lang.Integer' > select <include refid='Base_Column_List' /> from student where id = #{id,jdbcType=INTEGER} </select> <delete parameterType='java.lang.Integer' > delete from student where id = #{id,jdbcType=INTEGER} </delete> <delete parameterType='com.sx.kak.po.StudentExample' > delete from student <if test='_parameter != null' > <include refid='Example_Where_Clause' /> </if> </delete> <insert parameterType='com.sx.kak.po.Student' > insert into student (id, NAME, sex, age) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{sex,jdbcType=VARCHAR}, #{age,jdbcType=VARCHAR}) </insert> <insert parameterType='com.sx.kak.po.Student' > insert into student <trim prefix='(' suffix=')' suffixOverrides=',' > <if test='id != null' > id, </if> <if test='name != null' > NAME, </if> <if test='sex != null' > sex, </if> <if test='age != null' > age, </if> </trim> <trim prefix='values (' suffix=')' suffixOverrides=',' > <if test='id != null' > #{id,jdbcType=INTEGER}, </if> <if test='name != null' > #{name,jdbcType=VARCHAR}, </if> <if test='sex != null' > #{sex,jdbcType=VARCHAR}, </if> <if test='age != null' > #{age,jdbcType=VARCHAR}, </if> </trim> </insert> <select parameterType='com.sx.kak.po.StudentExample' resultType='java.lang.Integer' > select count(*) from student <if test='_parameter != null' > <include refid='Example_Where_Clause' /> </if> </select> <update parameterType='map' > update student <set > <if test='record.id != null' > id = #{record.id,jdbcType=INTEGER}, </if> <if test='record.name != null' > NAME = #{record.name,jdbcType=VARCHAR}, </if> <if test='record.sex != null' > sex = #{record.sex,jdbcType=VARCHAR}, </if> <if test='record.age != null' > age = #{record.age,jdbcType=VARCHAR}, </if> </set> <if test='_parameter != null' > <include refid='Update_By_Example_Where_Clause' /> </if> </update> <update parameterType='map' > update student set id = #{record.id,jdbcType=INTEGER}, NAME = #{record.name,jdbcType=VARCHAR}, sex = #{record.sex,jdbcType=VARCHAR}, age = #{record.age,jdbcType=VARCHAR} <if test='_parameter != null' > <include refid='Update_By_Example_Where_Clause' /> </if> </update> <update parameterType='com.sx.kak.po.Student' > update student <set > <if test='name != null' > NAME = #{name,jdbcType=VARCHAR}, </if> <if test='sex != null' > sex = #{sex,jdbcType=VARCHAR}, </if> <if test='age != null' > age = #{age,jdbcType=VARCHAR}, </if> </set> where id = #{id,jdbcType=INTEGER} </update> <update parameterType='com.sx.kak.po.Student' > update student set NAME = #{name,jdbcType=VARCHAR}, sex = #{sex,jdbcType=VARCHAR}, age = #{age,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} </update></mapper>

2.5 編寫application.yml

server: port: 8080spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/db0711?characterEncoding=utf8&serverTimezone=UTC username: root password: rootmybatis: type-aliases-package: po mapper-locations: classpath:mapping/*.xml

2.6 編寫JsonUtils工具類

package com.sx.kak.utils;import java.util.List;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.ObjectMapper;public class JsonUtils { // 定義jackson對象 private static final ObjectMapper MAPPER = new ObjectMapper(); /** * 將對象轉換成json字符串。 * <p>Title: pojoToJson</p> * <p>Description: </p> * @param data * @return */ public static String objectToJson(Object data) { try {String string = MAPPER.writeValueAsString(data);return string;} catch (JsonProcessingException e) {e.printStackTrace();} return null; } /** * 將json結果集轉化為對象 * * @param jsonData json數據 * @param clazz 對象中的object類型 * @return */ public static <T> T jsonToPojo(String jsonData, Class<T> beanType) { try { T t = MAPPER.readValue(jsonData, beanType); return t; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 將json數據轉換成pojo對象list * <p>Title: jsonToList</p> * <p>Description: </p> * @param jsonData * @param beanType * @return */ public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) { JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); try { List<T> list = MAPPER.readValue(jsonData, javaType); return list;} catch (Exception e) {e.printStackTrace();} return null; }}

2.7 編寫RedisUtils工具類

package com.sx.kak.utils;import java.util.List;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.ObjectMapper;public class JsonUtils { // 定義jackson對象 private static final ObjectMapper MAPPER = new ObjectMapper(); /** * 將對象轉換成json字符串。 * <p>Title: pojoToJson</p> * <p>Description: </p> * @param data * @return */ public static String objectToJson(Object data) { try {String string = MAPPER.writeValueAsString(data);return string;} catch (JsonProcessingException e) {e.printStackTrace();} return null; } /** * 將json結果集轉化為對象 * * @param jsonData json數據 * @param clazz 對象中的object類型 * @return */ public static <T> T jsonToPojo(String jsonData, Class<T> beanType) { try { T t = MAPPER.readValue(jsonData, beanType); return t; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 將json數據轉換成pojo對象list * <p>Title: jsonToList</p> * <p>Description: </p> * @param jsonData * @param beanType * @return */ public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) { JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); try { List<T> list = MAPPER.readValue(jsonData, javaType); return list;} catch (Exception e) {e.printStackTrace();} return null; }}

2.8 編寫RedisUtils工具類的實現類

package com.sx.kak.utils;import redis.clients.jedis.Jedis;/** * Created by Kak on 2020/9/17. */public class SingleTonRedisUtil implements RedisUtils{ private Jedis jedis; public SingleTonRedisUtil(Jedis jedis){ this.jedis = jedis; } @Override public void hset(String key, String filed, String value) { jedis.hset(key, filed, value); } @Override public String hget(String key, String field) { return jedis.hget(key, field); }}

2.9 配置初始化文件

package com.sx.kak.config;import com.sx.kak.utils.SingleTonRedisUtil;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import redis.clients.jedis.Jedis;/** * Created by Kak on 2020/9/17. */@Configurationpublic class RedisConfig { @Bean public SingleTonRedisUtil singleTonRedisUtil(@Qualifier('jedis') Jedis jedis){ SingleTonRedisUtil singleTonRedisUtil = new SingleTonRedisUtil(jedis); return singleTonRedisUtil; } @Bean(name = 'jedis') public Jedis getJedis(){ Jedis jedis = new Jedis('127.0.0.1',6379); return jedis; }}

2.10 配置StudentService.java

package com.sx.kak.service;import com.sx.kak.po.Student;import java.util.List;/** * Created by Kak on 2020/9/17. */public interface StudentService { public List<Student> findAllStudent();}

2.11 配置StudentServiceImpl.java

package com.sx.kak.service.serviceImpl;import com.sx.kak.mapper.StudentMapper;import com.sx.kak.po.Student;import com.sx.kak.po.StudentExample;import com.sx.kak.service.StudentService;import com.sx.kak.utils.JsonUtils;import com.sx.kak.utils.SingleTonRedisUtil;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;/** * Created by Kak on 2020/9/17. */@Service@Slf4jpublic class StudentServiceImpl implements StudentService { @Autowired(required = false) private StudentMapper studentMapper; //注入自定義的redis工具 @Autowired private SingleTonRedisUtil redisUtil; @Override public List<Student> findAllStudent() { //獲取redis中存出的json字符串 String student = redisUtil.hget('student', '0'); if(student!=null){ log.info('get student from redis'); //json對象,封裝的對象類型 List<Student> students = JsonUtils.jsonToList(student, Student.class); return students; } //創建查詢模板對象 StudentExample studentExample = new StudentExample(); List<Student> students = studentMapper.selectByExample(studentExample); log.info('get student from db'); try{ //將查詢的集合轉化為json字符串 String s = JsonUtils.objectToJson(students); //放入redis中 redisUtil.hset('student','0',s); log.info('set data to redis'); }catch (Exception ex){ log.info(ex.getMessage()); } return students; }}

2.12 編寫全查展示頁面

<!DOCTYPE html><html lang='en' xmlns:th='http://www.thymeleaf.org'><head> <meta charset='UTF-8'/> <title>學生全查頁面</title></head><body><div id='findAll'> <table> <tr> <th>ID</th> <th>NAME</th> <th>SEX</th> <th>AGE</th> <th>Action</th> </tr> <tr th:each='s:${students}'> <td th:text='${s.id}'></td> <td th:text='${s.name}'></td> <td th:text='${s.sex}'></td> <td th:text='${s.age}'></td> </tr> </table></div></body></html>

2.13 編寫StudentController

package com.sx.kak.Controller;import com.sx.kak.po.Student;import com.sx.kak.service.StudentService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.util.List;/** * Created by Kak on 2020/9/17. */@Controllerpublic class StudentController { @Autowired(required = false) private StudentService studentService; @RequestMapping('/findStudent') public String findAllStu(Model model){ List<Student> allStudent = studentService.findAllStudent(); model.addAttribute('students',allStudent); return 'showAllStudent'; }}

Java中的使用及連接Redis數據庫(附源碼)

3. 結果

從打印出的日志可以看出,第一次訪問是從數據庫得到數據,然后存入redis中

第二次直接從redis中獲取

Java中的使用及連接Redis數據庫(附源碼)

到此這篇關于Java中的使用及連接Redis數據庫(附源碼)的文章就介紹到這了,更多相關Java 使用及連接Redis內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
香蕉精品999视频一区二区| 国产欧美日韩亚洲一区二区三区| 国产精品高潮呻吟久久久久| 伊人精品视频| 99国产精品一区二区| 青青青免费在线视频| 精品一区电影| 精品久久久网| 成人在线观看免费视频| 精品三级在线观看视频| 色婷婷色综合| 欧美成人基地 | 国产精品亚洲产品| 欧美日本久久| 国产精品99精品一区二区三区∴| 久久av导航| 久久久免费人体| 久久久久久一区二区| 欧美成a人免费观看久久| 激情欧美一区二区三区| 午夜在线视频观看日韩17c| 亚洲精品无吗| 国产探花一区| 日韩综合在线| 亚洲精品网址| 日本vs亚洲vs韩国一区三区二区| 国产精品黄色片| av综合电影网站| 欧美日韩国产免费观看视频| 亚洲人成网77777色在线播放| 91午夜精品| 国产精成人品2018| 日韩久久电影| 亚洲一区免费| 日韩三级久久| 国产精品99视频| 亚洲男女av一区二区| 美国欧美日韩国产在线播放| 国产欧美久久一区二区三区| 91视频久久| 一级欧洲+日本+国产| 日韩高清成人在线| 福利一区视频| 香蕉视频成人在线观看| 欧美日本久久| 欧美日韩精品免费观看视完整| 亚洲韩日在线| 婷婷综合福利| 国产美女高潮在线观看| 香蕉视频成人在线观看| 国产激情久久| 成人va天堂| 日本中文字幕不卡| 在线看片国产福利你懂的| 先锋影音久久久| 精品淫伦v久久水蜜桃| 精品在线91| 国产精品久久久久久久久免费高清 | 久久精品一区| 欧美99久久| 国产精品白丝久久av网站| 久久蜜桃精品| 日韩欧美久久| 天堂网av成人| 国产日韩欧美三区| 久久中文字幕av| 国产精品一区高清| 黄色日韩在线| 久久精品国产免费| 免费久久精品视频| 久久男人av资源站| 老司机久久99久久精品播放免费| 国产欧美激情| 怡红院精品视频在线观看极品| 国产美女亚洲精品7777| 午夜久久99| 日本在线高清| 国产日韩中文在线中文字幕 | 国产成人久久精品一区二区三区| 免费精品视频| av日韩中文| 久久精品99国产精品| 蜜桃成人av| 国产精品极品在线观看| 亚洲在线成人| xxxxx性欧美特大| 国产免费播放一区二区| 国产精品日韩| 日韩大片在线播放| 久久激情五月激情| 午夜亚洲精品| 欧美91精品| 亚洲深夜视频| 国产精品视频一区二区三区 | 精品国产精品国产偷麻豆 | 麻豆视频久久| 婷婷综合一区| 在线综合亚洲| se01亚洲视频| 四虎国产精品免费观看| 国产精品一区二区99| 中文字幕中文字幕精品| 欧美精品一区二区久久| 精品日韩视频| 免费在线日韩av| 蜜桃av一区二区| 日韩一级欧洲| 国精品一区二区| 亚洲天堂免费电影| 国产一区二区三区久久| 国产美女视频一区二区| 三级久久三级久久久| 免费日韩av片| 国产精品日韩欧美一区| 欧美日韩国产免费观看| 亚洲91视频| 久久精品青草| 麻豆精品蜜桃| 91看片一区| 精品亚洲免a| 国产高清视频一区二区| 日韩精品一区二区三区免费视频 | 麻豆国产精品| 精品国产亚洲一区二区三区大结局| 国产欧美一区二区三区国产幕精品| 日韩精品乱码av一区二区| 免费在线欧美视频| 鲁大师影院一区二区三区| 视频在线观看91| av不卡免费看| 热久久国产精品| 亚洲另类黄色| 97精品久久| 国产免费久久| 国产精品igao视频网网址不卡日韩| 日韩精品亚洲专区在线观看| 欧美一级网址| 精品亚洲成人| 国产精品久久久久蜜臀| 亚洲成av在线| 欧美成人综合| 免费人成在线不卡| 亚洲精品少妇| 国产精品网站在线看| 国产精品一区二区免费福利视频| 国产欧美一区二区色老头| 久久99影视| 色婷婷色综合| 婷婷激情图片久久| 蜜臀精品一区二区三区在线观看| 视频一区在线视频| 日韩在线视频一区二区三区| 日本欧美一区二区| 国产精品a久久久久| 国产美女高潮在线| 五月天久久网站| 免费看日韩精品| 国产欧美日韩影院| 国产精品二区不卡| 日韩啪啪电影网| 免费观看久久av| 日日摸夜夜添夜夜添国产精品| 国产精品一区二区av交换| 久久久久久自在自线| 婷婷色综合网| 午夜天堂精品久久久久| 国产精品超碰| 日韩在线观看不卡| 亚洲专区一区| 国产探花在线精品| 日韩伦理在线一区| 免费久久99精品国产自在现线| 欧美在线看片| 国产aⅴ精品一区二区四区| 中文字幕高清在线播放| 亚洲一区黄色| 你懂的国产精品| 性欧美69xoxoxoxo| 欧美亚洲tv| 欧美亚洲国产精品久久| 日本不卡不码高清免费观看| 超碰在线99| 蜜桃久久久久久| 成人日韩av| 水野朝阳av一区二区三区| 另类欧美日韩国产在线| 亚洲精品99| 国产精品密蕾丝视频下载| 亚洲播播91| 日韩三级视频| 精品国产亚洲一区二区三区大结局| 国产综合色产| 69堂免费精品视频在线播放| 人人香蕉久久| 国产亚洲观看| 精品欧美激情在线观看| 国产精品久久| 视频一区二区中文字幕| 激情不卡一区二区三区视频在线| 激情婷婷欧美|