一、josn数据转实体类的工具类(JsonToBeanUtil)
- 工具类(可根据自己需求更改部分代码)
public class JsonToCityUtil { private JsonToCityUtil() {}; private static JsonToCityUtil jsonToCityUtil; public static JsonToCityUtil getInstance() { if (jsonToCityUtil == null) { jsonToCityUtil = new JsonToCityUtil(); } return jsonToCityUtil; } public List<CityObj> readJson() throws Exception { List<CityObj> list = new ArrayList<>(); // 读取 json 文件 File file = ResourceUtils.getFile("classpath:static/cityJson.json"); String jsonData = jsonRead(file); JSONArray array = JSONArray.parseArray(jsonData); //里面的参数名可自行更改自己所需的 for (int i = 0; i < array.size(); i++) { JSONObject jsonObject2 = array.getJSONObject(i); String city_name = jsonObject2.getString("city_name"); String city_code = jsonObject2.getString("city_code"); String pid = jsonObject2.getString("pid"); String _id = jsonObject2.getString("_id"); String id = jsonObject2.getString("id"); // 把 读取到 jsonObject2 弄成一个个的对象 CityObj cityObj = new CityObj(); cityObj.setCity_name(city_name); cityObj.setCity_code(city_code); cityObj.setPid(Integer.parseInt(pid)); cityObj.setId(Integer.parseInt(id)); cityObj.set_id(Integer.parseInt(_id)); System.out.println(cityObj); // 把对象 放到了集合中.. list.add(cityObj); } return list; } private String jsonRead(File file) { FileInputStream is = null; StringBuilder stringBuilder = null; try { /** * 文件有内容才去读文件 */ is = new FileInputStream(file); InputStreamReader streamReader = new InputStreamReader(is, "utf-8"); BufferedReader reader = new BufferedReader(streamReader); String line; stringBuilder = new StringBuilder(); while ((line = reader.readLine()) != null) { // stringBuilder.append(line); stringBuilder.append(line); } reader.close(); is.close(); } catch (Exception e) { e.printStackTrace(); } return String.valueOf(stringBuilder); } }
- 实体类及json数据(例子)
@Data
相当于getter和setter方法
josn文件数据:@Data public class CityObj implements Serializable { private int _id; private int id; private int pid; private String city_code; private String city_name; }
key,value值可自定义[ { "_id": 1989, "id": 2667, "pid": 317, "city_code": "101110201", "city_name": "三原县" }, { "_id": 1990, "id": 2668, "pid": 317, "city_code": "101110205", "city_name": "泾阳县" } ]
二、redis工具类
@Component
public class RedisClient {
@Autowired
private StringRedisTemplate redisTpl; //jdbcTemplate
/**
* 功能描述:设置key-value到redis中
*
* @param key
* @param value
* @return
*/
public boolean set(String key, String value) {
try {
redisTpl.opsForValue().set(key, value);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 功能描述:通过key获取缓存里面的值
*
* @param key
* @return
*/
public String get(String key) {
return redisTpl.opsForValue().get(key);
}
@Autowired
private StringRedisTemplate redisTemplate;
/* *//**
* 通过字符串key获取值
*
* @param key 键
* @return 值
*//*
public String get(String key) {
return key == null ? null : redisTemplate.opsForValue().get(key);
}
*//**
* 普通缓存放入
*
* @param key 键
* @param value 值
* @return true成功 false失败
*//*
public boolean set(String key, String value) {
try {
redisTemplate.opsForValue().set(key, value);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}*/
/**
* 功能描述:设置某个key过期时间
*
* @param key
* @param time
* @return
*/
public boolean expire(String key, long time) {
try {
if (time > 0) {
redisTemplate.expire(key, time, TimeUnit.SECONDS);
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 功能描述:根据key 获取过期时间
*
* @param key
* @return
*/
public long getExpire(String key) {
return redisTemplate.getExpire(key, TimeUnit.SECONDS);
}
/**
* 递增
*
* @param key 键
* @return
*/
public long incr(String key, long delta) {
return redisTemplate.opsForValue().increment(key, delta);
}
/**
* 递减
*
* @param key 键
* @param delta 要减少几
* @return
*/
public long decr(String key, long delta) {
return redisTemplate.opsForValue().increment(key, -delta);
}
}
三、jedis连接池工具类
- 工具类
/** * 连接池工具类 */ public class JedisUtil { private static JedisPool jedisPool; static { InputStream is = JedisUtil.class.getClassLoader().getResourceAsStream("jedis.properties"); Properties properties = new Properties(); try { properties.load(is); } catch (IOException e) { e.printStackTrace(); } JedisPoolConfig config = new JedisPoolConfig(); config.setMaxIdle(Integer.valueOf(properties.getProperty("maxIdle"))); config.setMaxTotal(Integer.valueOf(properties.getProperty("maxTotal"))); jedisPool = new JedisPool(config,properties.getProperty("host"),Integer.valueOf(properties.getProperty("port"))); } public static Jedis getJedis(){ return jedisPool.getResource(); } }
- jedis.properties文件
host=127.0.0.1 port=6379 maxTotal=50 maxIdle=10