step1:构造连接
ClassforName("commysqljdbcDriver");
Connection con = DriverManagergetConnection("jdbc:mysql://127001:3306/db","root","123");
step2:构造语句
String sql = "select username,password from t_user where username=";
PreparedStatement stmt = conprepareStatement(sql);
stmtsetString(1, "zhangshan"); //给SQL的""(问号)传值。
step3:执行查询
ResultSet rs = stmtexecuteQuery(); //rs就是SQL查询语句返回的结果集
step4:处理结果(java 获取SQL查询语句返回的结果)
List list = new ArrayList();
//遍历结果集,这样写就可以了,就是一个循环,有多少条记录,这里就会循环多少次,
//一次就是一条记录,想像一下就像一个表的一条记录
//在这里可以做查询出来的数据处理,可以封装成对象之类的(就是把值给它)
if(rsnext()) { //遍历结果集,这样写就可以了
User u = new User();
String username = rsgetString("username");
String address = rsgetString("password ");
usetUsername(username);
usetAddress(address);
listadd(u);
}
//上面这个例子意思是,把每一条记录封装成了一个User对象,然后这些User对象都放存入到了一个list
step4:关闭连接等
Java中有个元数据,交MetaData,这个是记录数据库和表本身信息的信息,
ResultSet rs=stexecuteQuery("select from student2");
//获取结果集元数据
ResultSetMetaData rsmd=rsgetMetaData();
//总列数
int size=rsmdgetColumnCount();
//打印列名
for(int i=1;i<=size;i++)
{Systemoutprint(rsmdgetColumnName(i)+"\t");
}
Systemoutprintln();
//打印列在数据库中的类型
for(int i=1;i<=size;i++)
{
Systemoutprint(rsmdgetColumnTypeName(i)+"\t");
}
Systemoutprintln();
//打印列的类型大小
for(int i=1;i<=size;i++)
{
Systemoutprint(rsmdgetColumnDisplaySize(i)+"\t");
}
Systemoutprintln();
//别名
for(int i=1;i<=size;i++)
{
Systemoutprint(rsmdgetColumnLabel(i)+"\t");
}
Systemoutprintln();
//打印结果集中数据
while(rsnext())
{
for(int i=1;i<=size;i++)
{
Systemoutprint(rsgetString(i)+"\t");
}
Systemoutprintln();
}
希望对你有用
setLong 是将 sql中的?号 替换为相应的数字,setLong(9,1)是将第一个?号,替换为9
其他的是查询结果、如果有结果、读取各种列,比如getString(2)就是读取第二列
以上就是关于java 获取SQL查询语句返回的结果全部的内容,包括:java 获取SQL查询语句返回的结果、在java连接数据库中,如何获取查询的列数或者是列名数组、java如何调取数据库中的数据,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)