Posted by 唧唧 | tags:
SQL
存储过程
游标
遍历
我们在使用存储过程当中,有时在统计数据的时候,需要查询某表中的数据,并且得到指定字段的具体值,这时就需要用到游标查询来遍历表数据
示例:
这里有一个表(demo),字段结构和数据如下:
idf namef websitef
----------- -------------------- -------------------------------------------
1 javawind http://www.javawind.net
2 blog http://blog.javawind.net
3 csdn http://www.csdn.net
4 sun http://www.sun.com
...
Posted by 唧唧 | tags:
SQL
DateTime
日期
时间
我们知道SQL中表示日期和时间的数据类型为DateTime,数据格式如 '2009-04-13 11:00:27.857',日期和时间是结合在一起的,有时我们只想要日期不要时间,有时我们只要时间而不要日期。可以通过Convert()函数来达到我们的目的。
Convert()函数的功能是:将某种数据类型的表达式显式转换为另一种数据类型。
Convert()函数的格式是:Convert(Data_Type[(Length)], Expression [, Style])
Data_Type[(Length)]为转换后的数据类型,Length为长度,可选(转换为某些数据类型时不需要写);Expression为备转换的表达式,Style为日期时间样式。
以系统函数GetDate()为例,其输出为系统当前时间,在查询分析器中输入:
SELECT GetDate() 执行输出结果为:2009-04-13 11:00:27.857
只要日期不要时间,在查询分析器中输入:
SELECT CONVERT(CHAR(10),GetDate(),120) 执行后输出结果为:2009-04-13
只要时间不要日期,在查询分析器中输入:
SELECT CONVERT(CHAR(8),GetDate(),108) 执行后输出结果为:11:00:27
当在SQL查询表格数据或者where条件使用时 只需要把 GetDate() 改为字段名称即可!
Posted by 唧唧 | tags:
Tomcat
虚拟目录
这里假设设置虚拟目录 "javawind",通过 http://localhost:8080/javawind 访问物理路径 D:\javawind\webRoot 文件夹里面的内容。设置过程如下:
第一种方法:打开 Tomcat6.0\conf\server.xml 文件,在 <Host> 和 </Host> 之间加入:即:<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
后面一行插入
<Context path="/javawind" docBase="D:\javawind\webRoot" reloadable="true"></Context>
path="/javawind" 就是虚拟目录的名称
docBase="D:\javawind\webRoot" 为物理路径
重启Tomcat,现在就可以应用 http://localhost:8080/javawind 访问你的虚拟目录了。
第二种方法:不修改server.xml
打开tomcat6的安装文件夹下的conf\catalina\localhost目录(如果不存在,则自己创建catalina和localhost这两个文件夹)
增加javawind.xml文件(该文件名要和下面的“path=“/xxx"”的xxx相同)
文件内容:
<Context path="/javawind" docBase="D:\javawind\webRoot" reloadable="true" workDir="D:\javawind\work" ></Context>
蓝色字体部分可以不设置!
docBase 是项目文件夹的web-inf文件夹的上一层目录
workDir 是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析 。一般格式:项目文件夹\work ,如果不设置,则使用tomcat的默认设置.
reloadable是指可以重新加载,一般设置为true,方便使用,不需要经常重启Tomcat。
重启Tomcat,在浏览器输入http://localhost:8080/javawind 就能访问该项目的welcome文件。
注意事项:增加的红色部分代码,注意区分大小写,如果大小写不正确,则可能导致虚拟目录部署失败,无法访问!
第三种方法:最简单直接,在tomcat安装目录下的\webapps文件夹下,新建javawind文件夹,把web项目文件拷贝进去就可以了!
Posted by 唧唧 | tags:
遍历
HashMap
以下通过程序来简单实践一下HashMap的的遍历
PS:如果要保持HashMap的遍历顺序和原插入顺序一致,可以使用LinkedHashMap,使用方法和HashMap一样,改一下声明即可:LinkedHashMap myMap = new LinkedHashMap(); 当然需要导入:java.util.LinkedHashMap
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class MapList {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap myMap = new HashMap();
myMap.put("hello", "你好");
myMap.put("bye", "再见");
myMap.put("thanks", "谢谢");
myMap.put("ok", "好的");
System.out.println("--------------------遍历key和value----------------------");
for(Iterator iter = myMap.entrySet().iterator();iter.hasNext();){
Map.Entry element = (Map.Entry)iter.next();
Object strKey = element.getKey();
Object strObj = element.getValue();
System.out.println("myMap.get(\""+strKey+"\")="+strObj);
}
System.out.println();
System.out.println("--------------------遍历整个HashMap----------------------");
Collection objs = myMap.entrySet();
for (Iterator iterator=objs.iterator(); iterator.hasNext();){
Object obj = iterator.next();
System.out.println(obj);
}
System.out.println();
System.out.println("--------------------遍历HashMap的key----------------------");
Collection keys = myMap.keySet();
for (Iterator iterator=keys.iterator(); iterator.hasNext();){
Object key = iterator.next();
System.out.println(key);
}
System.out.println();
System.out.println("--------------------遍历HashMap的value----------------------");
Collection values = myMap.values();
for (Iterator iterator=values.iterator(); iterator.hasNext();){
Object value = iterator.next();
System.out.println(value);
}
}
}
运行结果:
--------------------遍历key和value----------------------
myMap.get("hello")=你好
myMap.get("thanks")=谢谢
myMap.get("ok")=好的
myMap.get("bye")=再见
--------------------遍历整个HashMap----------------------
hello=你好
thanks=谢谢
ok=好的
bye=再见
...
Posted by 唧唧 | tags:
jdom
xml
事先需要从这里下载:http://www.jdom.org/dist/binary/ jdom api,导入build目录的 jdom.jar
JdomRWXML.java 源码:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
...
Posted by 唧唧 | tags:
今天开发项目中发现:request.getRealPath(arg0); 报警告:
The method getRealPath(String) from the type ServletRequest is deprecated
request.getRealPath("") 这个方法已经不推荐使用了,那代替它的是什么方法呢?
...
Posted by 积极 | tags:
vssplugin
今天用eclipse ganymede配置vssplugin_1.6.2的时候,在vss directry栏输后,提示Failed to create Ole Client. result = -2147221164,一直报错,很郁闷。
搞了半天,才发现VSS安装目录被我移动过了,注册表找不到执行文件了,重新安装Microsoft Visual SourceSafe 6.0后,问题得到解决!
VSS Plugin version 1.6.2 for Eclipse 3.3:http://vssplugin.sourceforge.net/
...
Posted by 唧唧 | tags:
Linux
Ubuntu
好久没有用linux了,还是windows比较符合操作习惯,美观也比较好。但是作为javaer,不会linux是不行的。
以前用的是redhat,现在叫朋友刻了张 Ubuntu 的安装光盘过来,捣鼓一下就安装上去
刚开始用,还不怎么习惯呢,需要慢慢去玩转它了,这和以前的redhat差别还是挺大的,不多说,贴图啦:




...
Posted by 唧唧 | tags:
验证码
演示:点击评论栏目的用户名文本框 即可显示 验证码http://www.javawind.net/5b016f381a9e3f16011a9ebe0b570002.jhtml
------------------------------------------------------------------------------------
package org.javawind.servlet;
...
Posted by 唧唧 | tags:
Hibernate
proxool
MySQL
注:本人用的MySQL是5.1版本,proxool0.9.0RC3,部分参数可能因为版本的差异而有所不同。如有疑问,请到论坛寻求帮助:http://www.javawind.net
1、在hibernate.cfg.xml同级目录下建立Proxool的配置文件 ProxoolConf.xml :
<?xml version="1.0" encoding="utf-8"?>
<something-else-entirely>
<proxool>
<alias>javawindPool</alias>
<driver-url>jdbc:mysql://localhost:3306/bbs?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8</driver-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<driver-properties>
<property name="user" value="username****"/>
<property name="password" value="password****"/>
</driver-properties>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<maximum-new-connections>20</maximum-new-connections>
<prototype-count>5</prototype-count>
<maximum-connection-count>100</maximum-connection-count>
<minimum-connection-count>5</minimum-connection-count>
</proxool>
</something-else-entirely>
...