g=utf8&useOldAliasMetadataBehavior=true";
String user = "root";
String password = "root";
con = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
}
public class JavaDbTest {
public static void main(String[] args) {
//这里是数据库的链接
Connection con = new Dbcon().getCon();
String sql = null;
// 这样能够获取当前操作系统的名字
//数据库插入操作的开始,修改与查询的道理一样,就不做了,请修改下面sql字符串中的sql语句
String username = System.getProperty("os.name");
// 这样能够获取当前的时间,但必须在文件头引入import java.util.*;
// 由于sql类里面同样有Date()这个类,因此必须多加一句import java.util.Date;消除歧义
String classString = new SimpleDateFormat("hhmmss").format(
new Date(System.currentTimeMillis())).toString();
sql = "INSERT INTO testtable(username,class) VALUES ('" + username
+ "','" + classString + "') ";
// 注意:操作数据库的语句Insert into,update与查询数据库的语句select在Java的语句是不同的
// 操作数据库为con.createStatement().execute(sql);
// 查询数据库为rs=con.prepareStatement(sql).executeQuery();且查询结果必须被ResultSet对象rs接住
try {
con.createStatement().execute(sql);
// 弄完之后人走带门
con.close();
} catch (Exception e) {
e.printStackTrace();
}
sql = "select * from testtable";
ResultSet rs = null;
// 这几个存放查询结果的ArrayList一定要放在try-catch的外围,注意变量有效范围
ArrayList idArraylist = new ArrayList();
ArrayList usernameArraylist = new ArrayList();
ArrayList classArraylist = new ArrayList();
try {
rs = con.prepareStatement(sql).executeQuery();
// 这个循环的结果是把整个查询结构读出来
while (rs.next()) {
// 取出各个列打印出来
idArraylist.add(rs.getInt("id"));
usernameArraylist.add(rs.getString("username"));
// 纵使class一列全是数字,但是由于这一列用的是varchar来存储
// 如果要把class当作整形处理,因此不可用rs.getInt,只能先以String取出来再擦写为整形
rs.getString("class");
classArraylist.add(Integer.parseInt(rs.getString("class")));
}
// 弄完之后人走带门
con.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("id username class");
for (int i = 0; i < idArraylist.size(); i++)
System.out.println(idArraylist.get(i) + " "
+ usernameArraylist.get(i) + " " + classArraylist.get(i));
}
}
|