key

数据库

只谈情不闲聊 提交于 2020-03-09 13:01:01
表连接: 两个表通过共有的某一列,根据其数值关系(一般是相等)进行联合,把一个表的一行所带的相应列附加到另一个表上。 业务上看,是添加了相应列的延伸内容,加的内容是一个对象在外表所对应的属性(类似点击一个key,看到其相应的属性,3d透视角度)。一对多即是一个外键附加了一堆属性 多表连接 先两个表连接,再连接其他表。即某一行所带的列不停的增加,某个属性(key)所带的值不停的附加 一对一,一对多,多对多 一对一:一个表里的key只出现一次,另一个表里对应的key也只有一行 一对多:一个表里的key只出现一次,另一个表里对应的key出现在多行。一对多的联合不会使得行数增加,因为一个表里已经有多个行了,联合和只是把key做主键那个表的内容复制到每一行 多对多:一个表里的key出现在多行,另一个表里对应的key也出现在多行。联合后是m*n 外键,主键 如果一个key在一个表里是外键,那么就是一对多 如果一个key在一个表里是主键键,那么就是一对一 内连接,外连接,左连接,右连接 内连接:两个表联合,只取key值相等的行连接 左连接:两个表联合,如果左边的key在右边的表找不到,左边的key所在的那一行保留,右边的列对应的值都是空 右连接:两个表联合,如果右边的key在左边的表找不到,右边的key所在的那一行保留,左边的列对应的值都是空 外连接:两个表联合,左右两表的key对应行都要保留

在java中读取配置文件信息

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-09 10:45:25
public class PropertyUtil { public static final Properties PROP = new Properties(); /** * 读取配置文件的内容(key,value) * * @param key * @return key对应的value */ public static String get(String key) { if (PROP.isEmpty()) { try { InputStream in = PropertyUtil.class.getResourceAsStream("/config.properties"); PROP.load(in); in.close(); } catch (Exception e) {} } return PROP.getProperty(key); } } 在resources文件下新建config.properties文件 websitepath=E:\\code\\landtax\\landtax\\ standardcondition=\"C_CD\"<=0.2 filePathTDQS=D:\\webspace\\import\\\u571F\u5730\u6743\u5C5E\u4FE1\u606F.xlsx 调用方法 String filePathTDQS =

java md5及3des加密实现

被刻印的时光 ゝ 提交于 2020-03-08 23:15:45
import org.apache.commons.codec.digest.DigestUtils; public class MD5 { /** * MD5方法 * * @param text 明文 * @param key 密钥 * @return 密文 * @throws Exception */ public static String md5(String text, String key) { //加密后的字符串 String encodeStr=DigestUtils.md5Hex(text + key); // System.out.println("MD5加密后的字符串为:encodeStr="+encodeStr); return encodeStr; } /** * MD5验证方法 * * @param text 明文 * @param key 密钥 * @param md5 密文 * @return true/false * @throws Exception */ public static boolean verify(String text, String key, String md5) { //根据传入的密钥进行验证 String md5Text = md5(text, key); if(md5Text.equalsIgnoreCase(md5)

Java Web ajax与json

霸气de小男生 提交于 2020-03-08 22:24:59
ajax的概念: Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 ajax运行原理: 页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到 服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回 给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面功能。 主要分为js原生的ajax 技术: js原生的Ajax其实就是围绕浏览器内内置的Ajax引擎对象进行学习的,要使用js原生的Ajax完成异步操作,有如下几个步骤: 1)创建Ajax引擎对象 2)为Ajax引擎对象绑定监听(监听服务器已将数据响应给引擎) 3)绑定提交地址 4)发送请求 5)接受响应数据 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Insert title here</title> 6 7 <script type="text

字典

∥☆過路亽.° 提交于 2020-03-08 20:58:54
字典 字典的查找 字典的修改 字典的删除 成员检测 成员检测 检测的是 key 的内容 字典中 keys 和values,以及items 是特殊词 # 空字典 a = { } a1 = dict ( ) b = { "one" : 1 , "two" : 2 , "three" : 3 } # 也可以用 等号 的关键字 # b1 = (one=1, two=2, three=3) # 用关键字参数的话不能用字符串进行创建 print ( b [ "three" ] ) b [ "two" ] = "二" del b [ "one" ] print ( b ) print ( "*" * 20 ) b [ "four" ] = 4 print ( b ) print ( "*" * 20 ) for k in b . keys ( ) : # for k in b 一样的效果 print ( k , b [ k ] ) print ( "*" * 20 ) for k , v in b . items ( ) : print ( k , "----" , v ) 3 {'two': '二', 'three': 3} ******************** {'two': '二', 'three': 3, 'four': 4} ******************** two 二

python-字典操作

旧巷老猫 提交于 2020-03-08 19:55:53
1、定义 字典{}key-value 形式d={'name':'贾宝玉',  'age':31,  'sex':'男',  'adrs':'荣国府'}优点:取值方便、速度快取值:  print(d[name]) #如果不存在则程序报错  print(d.get('name'))#如果key不存在,步报错,返回NULL  print(d.get('name'),'找不到')#如果key不存在,步报错,返回找不到(即指定的) 2、操作:   增加:   a、d['hight']=180  #即可直接增加key和value   b、d.setdefault('weight',130) #   删:   a、d.pop('sex')    #指定key,才能删除,即删除某个key   b、d.popitem()  # 随机删除一个   c、del d['sex']    #指定删除key,即指定删除sex   d、d.clear()    #清空字典   修改   a、d['hight']=120  #如果存在的key,可直接修改  3、其他方法:    print(d.keys())    #打印所有的key   print(d.values())    #打印所有的value   d.has_key(’addr‘)    python2中是否存在某个key     if 'name

Redis复习篇

橙三吉。 提交于 2020-03-08 15:15:31
1.Redis(简单的,高效的,分布式,基于内存的缓存机制) 1.1 性能极高: 读 110000次/s 写 81000次/s 1.2 丰富的数据类型: String,List,Hash,Set,Ordered Set 1.3 Redis操作都是具有原子性的 1.4 Redis单个Key能存入512M大小 2.Redis 数据类型 2.1 String 2.1.1 String类型常用命令: 赋值语法: set key value:设置Key的值,如果key已经存在则覆盖。 ++setnx key value:只有key不存在时设置key的值(解决分布式锁方案之一)。++ 取值语法: get key : 获取key对应的值,如果key不存在则返回nil。 getrange key start end :对获取key对应的值进行截取。 getbit key offset :对key所存储的字符串值,获取指定偏量上的位(bit)。 mget [key1,key2…] : 获取给定一个或多个key的值。 getset key value : 该语法用于设定key的值并返回旧值。 strlen key :返回key存储字符串的长度。 删除语法: del key : 删除指定的key,如果存在返回数字类型。 自增自减: incr key : incr命令将key的值增一。如果key不存在

ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

杀马特。学长 韩版系。学妹 提交于 2020-03-08 10:37:22
mysql数据库,卡系统运行了一段时间,后来卡号要求不可以重复,于是加了一个唯一索引 alter table card add unique(cardnum),结果报错:ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes,我设置的cardnum长度是varchar(256),于是修改该长度,改为varchar(64),alter table card modify column cardnum varchar(64),然后再执行增加唯一索引的语句,问题解决;网上说有要调整mysql的参数的方案,但是用不到,所以没有去使用那种办法。 来源: CSDN 作者: 威武 白 链接: https://blog.csdn.net/JamesBaiLove/article/details/104445126

Taro wx:key报错does not look like a valid key name?

百般思念 提交于 2020-03-08 09:52:38
最近更新了开发者工具,结果要出现 wx:key报错does not look like a valid key name?,最后发现可能是版本的问题,就直接更新Taro版本,结果搞定啦 $ taro update self [version] npm i -g @tarojs/cli@[version] $ taro update project [version] taro官方文档: https://taro-docs.jd.com/taro/docs/GETTING-STARTED.html 来源: CSDN 作者: 咚咚--梅 链接: https://blog.csdn.net/qq_37252374/article/details/104681009

谁有115资源分享

℡╲_俬逩灬. 提交于 2020-03-08 08:40:08
基于 Redis 实现 CAS 操作 Intro 在 .NET 里并发情况下我们可以使用 Interlocked.CompareExchange 来实现 CAS (Compare And Swap) 操作,在分布式的情景下很多时候我们都会使用 Redis ,最近在改之前做的一个微信小游戏项目,之前是单机运行的,有些数据存储是基于内存的,直接基于对象操作的,最近要改成支持分布式的,于是引入了 redis,原本基于内存的数据就要迁移到 redis 中存储,原来的代码里有一些地方使用了 Interlocked.CompareExchange 来实现 CAS 操作,迁移到 redis 中之后也需要类似的功能,于是就想基于 redis 实现 CAS 操作。 CAS CAS (Compare And Swap) 通常可以使用在并发操作中更新某一个对象的值,CAS 是无锁操作,CAS 相当于是一种乐观锁,而直接加锁相当于是悲观锁,所以相对来说 CAS 操作 是会比直接加锁更加高效的。 Redis Lua redis 从 2.6.0 版本开始支持 Lua 脚本,Lua 脚本的执行是原子性的,所以我们在实现基于 redis 的分布式锁释放锁的时候或者下面要介绍的实现CAS 操作的,要执行多个操作但是希望操作是原子操作的时候就可以借助 Lua 脚本来实现(也可以使用事务来做) 基于 Redis Lua