1. 注意在货币计算时,为了不产生精度上的问题,最好采用java.math.BigDecimal来声明数据类型
2. sql批量更新的使用
try {
pstmt = conn.prepareStatement(sql);
for (Iterator iter = flowCardDetailList.iterator(); iter.hasNext();) {
FlowCardDetail flowCardDetail = (FlowCardDetail)iter.next();
pstmt.setString(1, vouNo);
pstmt.setString(2, flowCardDetail.getAimClient().getId());
pstmt.setString(3, flowCardDetail.getItem().getItemNo());
pstmt.setDouble(4, flowCardDetail.getQty());
//批量更新
pstmt.addBatch();
}
pstmt.executeBatch();
}......
T_seq Name | Value |
t_flow_card | 200802030001 |
…… | …… |
3. 当数据量大时,需要检索表中最大的数据时,为了节省查询比较所需的时间,可以采用单独的表对业务意义的字段进行维护
例如:生成流向单号,select value from t_seq for update where T_seqNmae = ‘t_flow_card’,然后加一即可 ,每次用完对表进行更新
for update指的是采用悲观锁,悲观锁一般是采用数据库机制实现的,数据会一直被锁定,其他各户端将无法查看和更改,只有锁释放才可以,悲观锁比较适合于短事务的情况。
4. 实现克隆要点:
l 类要实现 Cloneable 标识性接口(空的接口,任何实现都没有)
l 要实现clone() 方法,native调用java外的类库(比如用c写一个类库,用native修饰)
l 必须调用super.clone
public Object clone() {
object obj = super.clone();//调用父类,让object对自身克隆
}
假设有个对象,有多个其他方法要调用,其中
克隆:重新申请一个空间,把数据复制过来,不会改变原来的数据
String类型可以直接克隆,主要是String每次都是申请新的空间
StringBuffer不能直接克隆,需要新new一个StringBuffer来实现
5. 了解html中<iframe>标签
l 可以实现局部刷新
l 可以实现页面的滚动,方便数据查看
6. sql中group by的用法
出现在select列表中的字段值必须在guoup by 字段中
where(单条数据进行过滤) having(对分组后的数据过滤,只能用在group by 后)
order by 需在group by 后
7. Map 多个键值对的遍历取值
Map map = ...
for(Iterator iter = map.entrySet().iterator(); iter.hasNext();) {
Map.entry entry = (Map.entry) iter.next();
entry.getKey();
entry.getValue();}
8. 采用Ajax实现html中<select>下拉列表的联动
<selects>
<select>
<id>4</id>
<name>吉林省</name>
</select>
<select>
<id>5</id>
<name>辽宁省</name>
</select>
<select>
<id>6</id>
<name>黑龙江省</name>
</select>
</selects>
xmlDoc = xmlHttp.responseXML.documentElement;
var selectProvince = document.getElementById("province");
var xSels = xmlDoc.getElementsByTagName("select");
selectProvince.options.length = 0;
for (var i = 0; i< xSels.length; i++) {
//var id = xSels[i].childNodes[0].firstChild.nodeValue;
var id = xSels[i].childNodes[0].childNodes[0].nodeValue;
var name = xSels[i].childNodes[1].childNodes[0].nodeValue;
var option = new Option(name, id);
selectProvince.add(option);
}
responseXML---->返回的是xml dom对象,通过该对象可以访问xml文件的节点、属性节点、值节点。
responseText--->返回的是文本字符串,可以直接打印输出
两者的读入都需jsp隐式对象out写入文本或xml
9. URI(统一资源标识),URL(统一资源定位),URN(统一资源名称)
URI |
URL |
URN |
l URI标识网络上的资源
l URL与URN的区别,前者不仅标识资源,而且还指出了访问资源的方式,如:用何种协议(http,ftp…..),URN则没有
10. 处理login页面在子窗口显示的问题:
如果在子窗口则跳到最前端显示,在login.jsp页面里加上
if(window.self != window.top) {
window.top.location = window.self.location;
}