??xml version="1.0" encoding="utf-8" standalone="yes"?> 1 数据库的JDBC驱动加蝲到classpath中,在基于JAVAEE的WEB应用实际开发过E中Q通常要把目标数据库品的JDBC驱动复制到WEB-INF/lib? Microsoft SQL Server驱动(msbase.jar、mssqlserver.jar、msutil.jar): Microsoft SQL Server驱动(jtds-1.2.jar): Sysbase: Sysbase: Oracle(用thin模式): PostgreSQL: DB2Q? Informix: JDBC-ODBC: 4 建立Statement对象或PreparedStatement对象.例如Q?
2
3 resultlistChoice.add(new AjaxFormComponentUpdatingBehavior("onclick") {
4
5 @Override
6 protected void onUpdate(AjaxRequestTarget target) {
7 // TODO Auto-generated method stub
8 }
9 });
10
11 resultlistChoice.add(new AjaxFormChoiceComponentUpdatingBehavior() {
12
13 @Override
14 protected void onUpdate(AjaxRequestTarget target) {
15 // TODO Auto-generated method stub
16 selectedList.clear();
17 for (String item : resultlistChoice.getModelObject()) {
18 selectedList.add(item);
19 System.out.println(item);
20 }
21 target.add(selectedChoice);
22 }
23 });
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
public class GetPinyin {
/**
* 得到 全拼
*
* @param src
* @return
*/
public static String getPingYin(String src) {
char[] t1 = null;
t1 = src.toCharArray();
String[] t2 = new String[t1.length];
HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
t3.setVCharType(HanyuPinyinVCharType.WITH_V);
String t4 = "";
int t0 = t1.length;
try {
for (int i = 0; i < t0; i++) {
// 判断是否为汉字字W?/span>
if (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
t4 += t2[0];
} else {
t4 += java.lang.Character.toString(t1[i]);
}
}
return t4;
} catch (BadHanyuPinyinOutputFormatCombination e1) {
e1.printStackTrace();
}
return t4;
}
/**
* 得到中文首字?br /> *
* @param str
* @return
*/
public static String getPinYinHeadChar(String str) {
String convert = "";
for (int j = 0; j < str.length(); j++) {
char word = str.charAt(j);
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null) {
convert += pinyinArray[0].charAt(0);
} else {
convert += word;
}
}
return convert;
}
/**
* 字W串转移为ASCII?br /> *
* @param cnStr
* @return
*/
public static String getCnASCII(String cnStr) {
StringBuffer strBuf = new StringBuffer();
byte[] bGBK = cnStr.getBytes();
for (int i = 0; i < bGBK.length; i++) {
// System.out.println(Integer.toHexString(bGBK[i]&0xff));
strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
}
return strBuf.toString();
}
public static void main(String[] args) {
String cnStr = "戬浜";
System.out.println(getPingYin(cnStr));
System.out.println(getPinYinHeadChar(cnStr));
}
}
pinyin4j-2.5.0.jar
2 加蝲JDBC驱动Qƈ其注册到DriverManager中;
3 建立数据库连接,取得Connection对象.例如:
MySQLQ?nbsp;
String Driver="com.mysql.jdbc.Driver"; //驱动E序
String URL="jdbc:mysql://localhost:3306/db_name"; //q接的URL,db_name为数据库?nbsp;
String Username="username"; //用户?
String Password="password"; //密码
Class.forName(Driver).new Instance();
Connection con=DriverManager.getConnection(URL,Username,Password);
String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //q接SQL数据库的Ҏ
String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库?
String Username="username"; //用户?
String Password="password"; //密码
Class.forName(Driver).new Instance(); //加蝲数据驱动
Connection con=DriverManager.getConnection(URL,UserName,Password);
String Driver="net.sourceforge.jtds.jdbc.Driver"; //q接SQL数据库的Ҏ
String URL="jdbc:jtds:sqlserver://localhost:1433/db_name;s=8.0;lastupdatecount=true"; //db_name为数据库?
String Username="username"; //用户?
String Password="password"; //密码
Class.forName(Driver).new Instance(); //加蝲数据驱动
Connection con=DriverManager.getConnection(URL,UserName,Password);
String Driver="com.sybase.jdbc.SybDriver"; //驱动E序
String URL="jdbc:Sysbase://localhost:5007/db_name"; //db_name为数据可?
String Username="username"; //用户?
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
String url="jdbc:sybase:Tds:localhost:5007/tsdata";
Properties sysProps=System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn=DriverManager.getConnection(url,SysProps);
String Driver="oracle.jdbc.driver.OracleDriver"; //q接数据库的Ҏ
String URL="jdbc:oracle:thin:@loaclhost:1521:orcl"; //orcl为数据库的SID
String Username="username"; //用户?
String Password="password"; //密码
Class.forName(Driver).newInstance(); //加蝲数据库驱?
Connection con=DriverManager.getConnection(URL,Username,Password);
String Driver="org.postgresql.Driver"; //q接数据库的Ҏ
String URL="jdbc:postgresql://localhost/db_name"; //db_name为数据可?
String Username="username"; //用户?
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
String Driver="com.ibm.db2.jdbc.app.DB2.Driver"; //q接hDB2客户端的Provider实例
//String Driver="com.ibm.db2.jdbc.net.DB2.Driver"; //q接不具有DB2客户端的Provider实例
String URL="jdbc:db2://localhost:5000/db_name"; //db_name为数据可?
String Username="username"; //用户?
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
String Driver="com.informix.jdbc.IfxDriver";
String URL="jdbc:Informix-sqli://localhost:1533/db_name:INFORMIXSER=myserver"; //db_name为数据可?
String Username="username"; //用户?
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
String Driver="sun.jdbc.odbc.JdbcOdbcDriver";
String URL="jdbc:odbc:dbsource"; //dbsource为数据源?
String Username="username"; //用户?
String Password="password"; //密码
Class.forName(Driver).newInstance();
Connection con=DriverManager.getConnection(URL,Username,Password);
//建立Statement对象
Statement stmt=conn.createStatement();
//建立ProparedStatement对象
String sql="select * from user where userName=? and password=?";
PreparedStatement pstmt=Conn.prepareStatement(sql);
pstmt.setString(1,"admin");
pstmt.setString(2,"liubin");
5 执行SQL语句.例如Q?
String sql="select * from users";
ResultSet rs=stmt.executeQuery(sql);
//执行动态SQL查询
ResultSet rs=pstmt.executeQuery();
//执行insert update delete{语句,先定义sql
stmt.executeUpdate(sql);
6 讉Kl果记录集ResultSet对象。例如:
while(rs.next)
{
out.println("你的W一个字D内容ؓQ?+rs.getString());
out.println("你的W二个字D内容ؓQ?+rs.getString(2));
}
7 依次ResultSet、Statement、PreparedStatement、Connection对象关闭Q释放所占用的资?例如:
rs.close();
stmt.clost();
pstmt.close();
con.close();
2. 关于InputStreamcȝavailable()Ҏ
要一ơ读取多个字节时Q经常用到InputStream.available()ҎQ这个方法可以在d操作前先得知数据里有多个字节可以d。需要注意的是,如果q个Ҏ用在从本
地文件读取数据时Q一般不会遇到问题,但如果是用于|络操作Q就l常会遇C些麻烦。比如,Socket通讯ӞҎ明明发来?000个字节,但是自己的程序调用available()Ҏ却只得到900Q或?00Q甚x0Q感觉有点莫名其妙,怎么也找不到原因。其实,q是因ؓ|络通讯往往是间断性的Q一串字节往往分几批进行发送。本地程序调用available()Ҏ有时得到0Q这可能是对方还没有响应Q也可能是对方已l响应了Q但是数据还没有送达本地。对方发送了1000个字节给你,也许分成3批到达,q你p调用3ơavailable()Ҏ才能数据L全部得到?br />
如果q样写代码:
int count = in.available();
byte[] b = new byte[count];
in.read(b);
在进行网l操作时往往出错Q因Z调用available()ҎӞ对发发送的数据可能q没有到达,你得到的count??br />
需要改成这P
int count = 0;
while (count == 0) {
count = in.available();
}
byte[] b = new byte[count];
in.read(b);
3. 关于InputStream.read(byte[] b)和InputStream.read(byte[] b,int off,int len)q两个方法都是用来从里d多个字节的,有经验的E序员就会发玎ͼq两个方法经?d不到自己惌d的个数的字节。比如第一个方法,E序员往往希望E序能读取到b.length个字节,而实际情冉|Q系l往往d不了q么多。仔l阅读Java的API说明发CQ这个方?q不保证能读取这么多个字节,它只能保证最多读取这么多个字?最??。因此,如果要让E序dcount个字节,最好用以下代码Q?br />
byte[] b = new byte[count];
int readCount = 0; // 已经成功d的字节的个数
while (readCount < count) {
readCount += in.read(bytes, readCount, count - readCount);
}
用这D代码可以保证读取count个字节,除非中途遇到IO异常或者到了数据流的结?EOFException)
1.Java代码
打开Eclipse的Window菜单Q然后Preferences->Java->Code Style->Formatter->Edit/Show(Ҏ不同版本可用的按钮会不一? ->Line Wrapping->Maximum line width:由默认的80Ҏ自己惌讑֮的长?/p>
2.Html代码
Window->Preferences->MyEclipse->Files and Editors->Html->Html Source->Line width->加个0以后保存?
3.xml代码
Window->Preferences->MyEclipse->Files and Editors->xml->xml Source->->Line width->999