编写java类时,StringButter q=new StringButter(200);是什么意思?

书上的代码,java语言只自学了一个星期,很多东西都没搞懂~~求解释。
编写一个javabeans,其中一段要插入数据的代码
public void insert(){
try{
StringBuffer q=new StringBuffer(200);
1. 这句代码是什么意思,有什么作用,StringBuffer是什么函数
q.append("INSERT INTO volunteers(name,sex,regTelephone,email,intro)VALUES(");
2.为什么VALUES后面会有(
3.append是什么意思
q.append("'"+name+"‘,'");
4为什么又有单引号又有双引号
q.append(sex+"','");
q.append(regTelephone+"‘,'");
q.append(email+"')");
q.append(intro+"")")'
update(q.toString());
}catch(Exception e){
System.err.println(e.getMessage());
}
}

第一个问题,StringBuffer是一个字符串类,方便扩展,200是他的初始化长度。第三个问题,append方法是将append括号后面的字符串拼接到StringBuffer对象里面字符串的后面。第二个问题和第四个问题其实是同一个原因,因为这段代码是要将一个完成的sql语句放到q里面。首先我们来看一个比较完整的insert语句。
INSERT INTO volunteers(a,b,c,d)VALUES('字符串1','字符串2',整形,日期类型);请注意,values里面的字符串类型是包括单引号的,所以再向q当中插入的sql自然要把单引号算上,而append方法接受的是一个字符串参数,java中字符串是用双引号括起来的,刚才说了,你又要把sql的单引号拼接进去,自然单引号也会放到双引号里面,这就是你的第四个问题。当然完整的insert sql,values是包含括号的,所以你的第二个问题也解决了。values后面的左括号与
q.append(intro+"")")里面的右括号是一对。

在java里面拼接sql要求你对sql要有一个比较清晰的认识,java代码拼接出来的sql一定要和你直接在数据库里写的一样才能正确运行。其实这不是一个特别难的问题,只要你多做几次,找到方法了就非常简单的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-23
首先,StringButter q=new StringButter(200);的意思是新建一个长度为200的stringBuffer对象,
stringBuffer是一个类对象,类似string类,但是节省资源。
values后面有‘(’是因为这个q 就只sql命令,再sql里面要insert也是要 values的啊 而且要加()的。
append意思是追加的意思。再q的后面追加字符串。
数据库里,插入字符串是要加单引号抱起来的。
最后说一句,好好看看api。里面都有,有问题先查api。本回答被网友采纳
第2个回答  2012-12-22
就是创建一个StringBuffer字符串类,初始长度为200个字节单位。谢谢!
第3个回答  2012-12-22
额。你确定是StringButter?应该是StringBuffer。这个是一个缓冲字符串的创建,说白了就是一个字符串
第4个回答  2012-12-22
一楼二楼说得对
第5个回答  2012-12-22
自己写的类? 自己清楚了。
相似回答
大家正在搜