- 浏览: 23097 次
- 性别:
- 来自: 上海
最新评论
-
ls_autoction:
你写非常独到的地方,是我查过百度,Google中最难懂的地方, ...
dojo中的grid的改进 -
晨曦的朝阳:
刚刚出炉的国产jquery-ui开源组件库 http://ui ...
用dojo做web前端的思考 -
bluseli:
你好,正在研究activemq中。看了你的文章。非常好。
希望 ...
一个多线程的服务器例子 -
fffddd:
不见得吧。贴出执行计划来看看。
大量数据时,SQL语句的书写区别 -
duooluu:
一眼看不完你的SQL
为了说明问题还是精简掉一些字段为好
大量数据时,SQL语句的书写区别
文章列表
在开发web应用程序中,表单查询是一个非常常见的功能,但是需求五花八门,各种各样,更重要的是,后端的SQL/hql要根据页面的输入动态变化。常常形成一个庞大的拼sql的方法,并且各个方法都不一样,为开发,维护带来了不少困难。本人在总结了常用需求的基础上,再结合SSH,想出一个比较通用的方案,以此抛砖引玉。
实现的思路是这样的,根据页面输入,自动将页面输入转化成一组查询条件,数据访问层再根据这些查询条件自动组装SQL/hql。这个是查询条件类。
import java.io.Serializable;
/**
* 表单上的查询条件封装类
* 封装表单的查询条 ...
hibernate 有多种自定义的主键生成机制,比较常见的是使用UUID作为主键,或者使用数据库表来生成主键,抑或是使用数据库自带的主键生成机制来获取主键。这几种方法都有各自专门的详细文章详细介绍,这里就不多讲了。但是在使用的过程中都有或多或少的局限性。下面列举一些常见的问题。
如果采用数据库自带的主键生成机制,那么在做数据库迁移的时候,会带来额外的工作量。(如果不考虑数据库迁移的可能新,那么可以忽略)
如果采用数据库表的方式来生成主键,那么再每次新增前要先访问一次数据库,增加了开销。
如果采用UUID的方式获取主键,有这样一个问题,UUID是无序的,而大多数数据库查询或默认 ...
英文缩写词它是用一个单词或词组的简写形式来代表一个完整的形式,它不同于首字母缩写词。例如:
kg (kilogram), TV (television), cf (confer), cm (centimetre)
AD,A.DAnno Domini(=in the year of the Lord;since Christ was born 公元
A.M.,a.m.ante meridiem(before noon) 上午,午前
Apr. April 四月
Aug.August 八月
Ave.avenue 林荫道,大街
BABachelor ...
目前正在做一个web产品,具体的说是企业管理系统。
后端采取的是经典的SSH,前端用freemarker,在js框架上徘徊不定,有以下几种选择
1 jquey: 优点:轻量级,wirte less do more
缺点:没有比较通用的UI组件作为支持,如果用它,必须找前端+美工,像其他的easyui,dwz等,虽然有一定的UI组件,但是都有bug,并且没有经过严格的测试。
2 ext:优点:漂亮,并且有完备的UI组件支持。
缺点:美工不好介入,大部分都是js代码。
版权问题
...
基于目前的场景,做了如下的设计,在角色保存其角色功能菜单的时候,发出一条异步指令,利用freemarker引擎,动态生成静态的登录界面,其中包含了功能权限信息,这样就缩短了,登陆时的开销。这个其中的重点是:
1 异步机制,目前打算用spring的jms
2 生成机制:要以固定模板为基础
3 动态路由机制:根据用户所属角色,动态路由到不同的登录后主界面。
在dojo中有个强大而实用的组件Grid,但是在实际使用的时候,它有以下一些小问题。
没有相应的pagenavigation组件,它的分页机制是在鼠标向下滚动时自动请求后端获取数据的,这样做,在数据量比较大(上万条)的时候,客户端保存了大量的数据,容易造成客户端卡死现象。
对于这两个问题,针对dojo的grid做了以下扩展:
dojo.provide("navigationGrid");
dojo.require("dojox.grid.DataGrid");
dojo.require('dijit.Toolbar') ...
在oracle的分页查询中,常用的写法是这样的
select * from (
select pageStart.*,rownum as rn from (
select
consign.ID AS id
,consign.CONSIGN_CODE AS consignCode
,consign.ORDER_ID AS orderId
,consign.SHIPPER_CODE AS shipperCode
...
在面对大量数据的时候(到底有多大我不知道,只有老板知道),如果仍然采取同步处理的机制,会处理很长时间,下面是个采用activemq做为消息中间件,采取异步处理的机制。
要求:安装apache-activemq-5.2.0。
直接在官方网站下载过来解压缩即可使用。
运行apache-activemq-5.2.0/bin/activemq.bat
运行程序的server的main函数。
说明:程序会监听来自activemq的消息队列,当有消息到达时,开启多个线程执行任务。
补充:activemq中允许传输二进制字节流的文件,可以考虑做个压缩和解压 ...