sql server 锁表 select for update suny

SELECT 语句中“加锁选项”的功能说明

SQL Server提供了强大而完备的锁机制来帮助实现数据库系统的并发性和高性能。用户既能使用SQL Server的缺省设置也可以在select 语句中使用“加锁选项”来实现预期的效果。 本文介绍了SELECT语句中的各项“加锁选项”以及相应的功能说明。

功能说明: 

NOLOCK(不加锁)
此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“脏数据”。

HOLDLOCK(保持锁)
此选项被选中时,SQL Server 会将此共享锁保持至整个事务结束,而不会在途中释放。

UPDLOCK(修改锁)
此选项被选中时,SQL Server 在读取数据时使用修改锁来代替共享锁,并将此锁保持至整个事务或命令结束。使用此选项能够保证多个进程能同时读取数据但只有该进程能修改数据。

TABLOCK(表锁)
此选项被选中时,SQL Server 将在整个表上置共享锁直至该命令结束。 这个选项保证其他进程只能读取而不能修改数据。

PAGLOCK(页锁)
此选项为默认选项, 当被选中时,SQL Server 使用共享页锁。

TABLOCKX(排它表锁)
...

myBatis 使用Select top 动态参数出现“´@P0´ 附近有语法错误”的解决 cloudy

今天在使用myBatis使用 select top #{num} * from tableName... 传递动态参数的时候会无法执行SQL语句,报错:'@P0'附近有语法错误

最后寻得解决方法应该为:select top ${num} * from tableName...

iBatis2对应语法是:#num# 和 $num$。

具体解释如下:(转自:wangkuoguang的“成长”空间)

1、#是把传入的数据当作字符串,如#field#传入的是id,则sql语句生成是这样,order by "id",这当然会报错。
2、$传入的数据直接生成在sql里,如#field#传入的是id,则sql语句生成是这样,order by id, 这就对了。
3、#方式能够很大程度防止sql注入。
4、$方式无法方式sql注入。
5、$方式一般用于传入数据库对象,例如传入表名。
6、一般能用#的就别用$。


...

httpClient4.x中,MultipartEntity中附加中文信息时的乱码解决 cloud

今天在开发腾讯微博应用的时候,发现部署在Linux上面的jsp无法同时发送图片和汉字,会出现鉴权失败的错误,原因是参数中的中文汉字乱码了!但是在本地winxp环境使用eclipse调试却可以正常发送!

经过调试,发现是httpClient中的MultipartEntity参数编码出现了异常,修改如下:
MultipartEntity reqEntity = new MultipartEntity();
..........
reqEntity.addPart(param[0], new StringBody(value));
改为
MultipartEntity reqEntity = new MultipartEntity();
...

[转]图片延迟加载技术(ImageLazyLoad) cloud

 ImageLazyLoad技术,就是在下拉滚动条的时候加载图片,这种比较适合一个网页上有很多图片的情况,例如某个页面都是图片,那么如果用户访问的时候,会在加载完整个页面等待很长时间,而用第一眼看到的只是第一屏的内容,所以第二屏、第三屏等的内容加载时间其实是在浪费时间!如果用户只看了第一屏,而不翻屏就关掉了浏览器,那么第二屏第三屏下载的资源也是一中流量的浪费! 并且加载用户体验也不好!那么这就有了这个小技巧,使用javascript来实现图片缓冲,只加载用户要看的屏幕的资源,这个小技巧的好处是提高访问速度,提高用户体验,对seo没有什么帮助!,不废话,说做法: 

一、使用JQuery插件 ,插件名: jquery.lazyload(7kb大小),压缩后(3kb大小):

1.导入JS插件,请自行到jquery官方下载js文件
<script src="http://jianzi0307.blog.163.com/blog/jquery.js" type="text/javascript"></script>
...

[转]CentOS/Linux VPS下启用未使用的硬盘空间 cloud

这个是XenSystem官方的教程.但是使用的时候会出现一个问题:
vgdisplay查看物理卷组情况,可以看到我们有多少G的容量可以扩展,教程是22G,整数,但是实际应用很多都不是整数,你全部扩容的话填写XX.XXG的时候就会返回一个错误.今天给别人搞就是这样,你可以这样扩容:先扩容整数,然后会剩下XXM的可扩容空间,再次扩容,直接填写M单位。就成功了。

下面是教程:
fdisk -l
查看硬盘分区情况

df -hal
查看已划分区空间使用情况,硬盘容量为32.2G,已划分的空间为5.7G(不包含SWAP,输入free -m可以查看内存和swap使用情况)
运行效果如下图:
...

[转]Facebook是如何管理代码的 suny

FaceBook  我对facebook的运转着迷。这是一个很独特的环境,不容易被复制(他们的体系并不适合所有的公司,即使他们努力尝试过)。下面是我和facebook的朋友们关于他们如何开发和管理项目的记录。

  现在距离我收集的这些信息又过去6个月了,我相信facebook肯定又对他们的项目开发实践进行了改进。所以这些记录可能会有点过时。同时facebook的工程师驱动文化也越来越为大众所知。非常感谢那些帮助我整理这篇文章的facebook的朋友们。

  记录: 

...

jQuery.getJSON 跨域访问远程数据源“拒绝访问”的解决方法 cloudy

昨天在开发一个腾讯微博API的时候,遇到jQuery.getJSON跨域名远程访问json数据源的时候,报“拒绝访问”的脚本错误。

修改前:

   javascript代码
  1. $.getJSON(apiURL+"gethtlist.jsp"
  2.       {"page":page,"pageSize":pageSize,"pageinfo":pageinfo}, 
  3.       function(json){ 
  4.             alert(json); 
  5.       }); 

修改后:

   javascript代码
  1. $.getJSON(apiURL+"gethtlist.jsp?jsoncallback=?"
  2.       {"page":page,"pageSize":pageSize,"pageinfo":pageinfo}, 
  3.       function(json){ 
  4.             alert(json); 
  5.       }); 

URL后面多了:?jsoncallback=?

当然,jsoncallback可以改为其它你想要的名字,然后在服务端(本例指gethtlist.jsp)应该获取这个参数,并且封装一下json数据。

修改前只是一个json数据对象:
{"data":{id:1,title:'javawind'},msg:"ok",ret:0}

那么我们应该修改成:
jsoncallback({"data":{id:1,title:'javawind'},msg:"ok",ret:0})

其中jsoncallback是获取的jsoncallback的参数,这里是jsp,所以应该是:
<%=request.getParameter("jsoncallback")%>({"data":{id:1,title:'javawind'},msg:"ok",ret:0})

jsoncallback=? 表示参数由jQuery自动生成,最终它会生成一个jsonp1294882912998这样格式(jsonp+时间戳)的参数,你也可以指定jsoncallback=xxxyyy参数给他,服务器端就可以不用动态获取了。

参考文档:
jQuery 1.3 API 参考文档中文版
Remote JSON - JSONP


...

jSQL Manager Version 1.0.0 Beta(测试版)低调发布 cloudy

什么是jSQL Manager?

      笔者从事JAVA开发2年多,期间开发和维护了不少项目,深知数据库管理的重要性。程序排错、系统更新、日常维护都和数据库管理息息相关。特别是一些在Linux系统部署的系统维护更为头疼,由于采用SSH远程连接,直接在控制台敲命令。SSH没有图形化可视操作,而且对中文的支持也很不友好,数据库管理很不方便。而且大部分系统为了安全考虑,并没有开放数据库和SSH的外网远程访问权限,常常需要使用QQ的远程协助功能和其系统内部的一些技术员进行远程控制操作,受网络传输影响,常常卡得心烦气躁,头疼不已。

      因此,我开始有了开发一个在线管理数据库的软件的想法,jSQL Manager应运而生。

      jSQL Manager是一款基于Java/jsp语言开发的在线管理数据库的软件,适用于MySQL、MSSQL、Oracle的数据库在线管理。(目前测试版仅支持MySQL5)。

...

Maven2目录和pom.xml文件基本节点介绍 rainy

pom.xml 文件基本节点介绍

<project> :文件的根节点 .
<modelversion> : pom.xml 使用的对象模型版本 .
<groupId> :创建项目的组织或团体的唯一 Id.
<artifactId> :项目的唯一 Id, 可视为项目名 .
<packaging> :打包物的扩展名,一般有 JAR,WAR,EAR 等
<version> :产品的版本号 .
...

Maven2 的常用命令 rainy

Maven2 的运行命令为 : mvn

常用命令为:

mvn archetype:create :创建 Maven 项目
mvn compile :编译源代码
mvn test-compile :编译测试代码
...

Total:12812345678910›|13 Pages