1、Oracle在已经存在主键的表中插入复合主键的SQL语句

如已有一个表test_key,其中a1列为主键。

CREATE TABLE TEST_KEY(
A1 VARCHAR2(3) NOT NULL,
A2 VARCHAR2(3),
B1 VARCHAR2(3),
B2 VARCHAR2(3)
);
alter table TEST_KEY
add constraint PK_TEST_KEY primary key (A1) using index;

现在要将a2,b1也增加到主键中与原有的a1一起组成复合主键。语句如下:

alter table TEST_KEY drop constraint PK_TEST_KEY cascade;
alter table TEST_KEY add constraint PK_TEST_KEY primary key (A1, A2, B1) using index;

需要做的操作是先将现有表的主键删除,然后再加入新的复合主键。

2、标签data-*自定义属性值

在HTML5规范里增加了一个自定义data属性,这样可以方便的在在标签上存储和操作数据。

如当一个下拉框的值是由两个值组合而成。选择某个下拉框的值后,需要将值传到后台查数据,通常用一个value传到后台不好处理,可以使用如下的方法:

<select id="product">
<option data-goodsName="p01" data-vsrsion="01" >商品A--version 1.0</option>
<option data-goodsName="p02" data-vsrsion="02">商品B--version 2.0</option>
<option data-goodsName="p03" data-vsrsion="03">商品C--version 3.0</option>
</select>

获取当前选中的下拉框的值(jQuery写法):

var options=$("#productoption:selected");    //获取选中的项
var goodsName = options.data("goodName"); //拿到商品名
var vsrsion = option.data("vsrsion"); //拿到商品版本
你还可以在"data-*" 属性里使用json语法,例如,如果你写出下面的html:
<div id="test-json" data-test='{"game":"on"}'></div>

你可以通过js直接访问这个数据,通过json的key值,你能得到相应的value:

var gameStatus= jQuery("#test-json").data('test').game;
console.log(gameStatus);

你也可以通过.data(key,value)方法直接给"data-" 属性赋值。一个重要的你要注意的事情是,这些"data-" 属性应该和它所在的元素有一定的关联,不要把它当成存放任意东西的存储工具。

通过支持html5的浏览器中的js代码也可以获取相应的值,例如:

<div data-author="david" data-time="2011-06-20"
data-comment-num="10" data-category="javascript">
....
</div>

获取js代码

var post = document.getElementsByTagName('div')[0];
post.dataset; // DOMStringMap
post.dataset.commentNum; // 10

需要注意的是,data-之后的以连字符分割的多个单词组成的属性,获取的时候使用驼峰风格。

补充:尽管"data-**" 是HTML5才出现的属性,但jquery是通用的,所以,在非HTML5的页面或浏览器里,你仍然可以使用.data(obj)方法来操作"data-*" 数据。

根据data属性值查找对应标签
var curDiv = $('#main').find('div[data-url="11"]');
curDiv.css('', ''); // 去操作

上面代码的意思是,获取id="mian"的标签下的div中属性[data-url="11"]的标签,然后进行相关操作。

3、Highchar.js插件提示框千分位显示为空格而不是逗号

有两种解决方法

(一)修改js文件,关于千分位的设置:thousandsSep: String 一千的分隔符

在highcharts.js 中找到 thousandsSep位置,把"" 改为 ","

这种方法虽然能解决问题,但是修改js后,在某些情况下js会报错导致无法使用。(使用的js版本为:Highcharts JS v4.2.1 (2015-12-21)

(二)设置针对所有图表有效的全局配置(推荐方法

官方API

Highcharts.setOptions({
lang:{
thousandsSep:",",
}
});

4、MyBatis 判断条件为等于的问题

先看一个实例

下面的语句是MyBatis的if判断条件

<if test="name != null and name == 'BAK' ">
name=#{name}
<if>

但是写成上面的样子会报错,MyBatis是使用的OGNL表达式来进行解析的,需要改成一下形式(test里面 应该为单引号套双引号):

<if test= 'name != null and name == "BAK" '>
name=#{name}
<if>

另外还有一种写法就是:

<if test="name != null and name == 'BAK'.toString() ">
name=#{name}
<if>

Highchar.js插件提示框千分位显示为空格而不是逗号 --(2018 08/06-08/12周总结)的更多相关文章

  1. highchart 中数据千分位显示为空格而不是逗号的解决方案

    thousandsSep: String   一千的分隔符 在highcharts.js 中找到  thousandsSep位置,把"" 改为  ","

  2. JS延时提示框

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px ...

  3. Js笔试题之千分位格式化

    用js实现如下功能,将给定的数字转化成千分位的格式,如把“10000”转化成“10,000”,并考虑到性能方面的因素. 一.首先想到的办法,将数字转换为字符串(toString())再打散成数组(sp ...

  4. 关闭是否只查看安全传送的网页内容提示框 和 是否允许运行软件,如ActiveX控件和插件提示框

    关闭是否只查看安全传送的网页内容提示框 最新编写 爬虫程序,运行程序后,电脑就总是出现下面这个提示框,一遍遍点"是"或"否"繁琐又麻烦.我看得有点不耐烦了.于是 ...

  5. JS_Window-三种消息框:警告框、确认框、提示框、页面显示时间-计时-延时

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  6. js中提示框闪退问题

    当页面存在刷新  或  在线引用iframe框架时(引用框架也会导致刷新) 会导致页面加载时的弹出框闪退 解决方法:设置弹出框在页面或者框架完全加载一段时间后再弹出 <script type=& ...

  7. echarts饼图如何设置悬浮提示框在中间显示?

    http://www.echartsjs.com/option.html#tooltip.position tooltip.position string, Array, Function   提示框 ...

  8. js将数字转为千分位/清除千分位

    /** * 千分位格式化数字 * * @param s * 传入需要转换的数字 * @returns {String} */ function formatNumber(s) { if (!isNaN ...

  9. js消息提示框插件-----toastr用法

     (本文系转载) 因为个人项目中有一个提交表单成功弹出框的需求,从网上找了一些资料,发现toastr这个插件的样式还是不错的.所以也给大家推荐下,但是网上的使用资料不是很详细,所以整理了一下,希望能给 ...

随机推荐

  1. Java程序员的日常—— Spring Boot单元测试

    关于Spring boot 之前没有用Spring的时候是用的MockMvc,做接口层的测试,原理上就是加载applicationContext.xml文件,然后模拟启动各种mybatis\连接池等等 ...

  2. jvm内存结构(一)(结构总览)

    jvm内存结构:<Java虚拟机原理图解>3.JVM运行时数据区 程序计数器: ,是执行的字节码的行号指示器,记录的是正在执行的虚拟机字节码指令的地址. ,每个线程都有独立计数器,互不干扰 ...

  3. Concurrent包工具类使用

    一.读写锁 传统的同步锁就是独占式锁,当线程使用资源时候保持独占,无论读写.当人们发现请求队列(假设)中相邻请求为读-读的时候,阻塞是一种浪费资源的操作.比如公告板,所有路过的人(请求)都是读操作,并 ...

  4. 解决ORA-21561: OID generation failed

    解决ORA-21561 在linux上使用sqlplus连接oracle数据库 [root@china ~]# sqlplus test/test@ORCL SQL Production :: Cop ...

  5. iOS 枚举讲解

    枚举增强程序的可读性,用法上还是需要注意的 1.C语言的写法 enum XMPPReconnectFlags { kShouldReconnect = 1 << 0, // If set, ...

  6. VSTO学习(二)——Excel对象模型

    要开发Excel的项目,就自然少不了对Excel对象模型的了解了,只有了解Excel对象模型,这样才能更好地对Excel进行处理.下面先给出一张Excel对象模型的图: 下面就具体对上图中的各个对象做 ...

  7. 给访问私有变量添加access method

    class TestAccessPrivateVar{ private int a = 1; class MyInner{ /* synthetic final TestAccessPrivateVa ...

  8. wordpress 后台404解决办法

    1.vim /usr/local/nginx/conf/wordpress.conf2.rewrite /wp-admin$ $scheme://$host$uri/ permanent;3.ngni ...

  9. python如何帮我在投资中获取更高收益

    搞技术的大都比较纯粹,比较实在,除了工资之外基本就没有别的收入了(少部分人能接外包赚外块).或许是迫于生活的压力,或许是不甘于固定的工资,或许是出于技术人骨子里的好奇,亦或是这几年关于理财投资的大力宣 ...

  10. android学习-IPC机制之ACtivity绑定Service通信

    bindService获得Service的binder对象对服务进行操作 Binder通信过程类似于TCP/IP服务连接过程binder四大架构Server(服务器),Client(客户端),Serv ...