假设mysql中test数据库中有个表式score,有数据,我只取第一列的数据出来:
public void mysqlConnection(){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();//数据库驱动
String url = "jdbc:mysql://localhost:3306/test";//数据库链接地址
String user = "root";//用户名
String password = "";//密码
Connection conn = DriverManager.getConnection(url, user, password);//建立connection
Statement stmt = conn.createStatement();
conn.setAutoCommit(false);// 更改jdbc事务的默认提交方式
String sql = "select * from score";//查询语句
ResultSet rs = stmt.executeQuery(sql);//得到结果集
conn.commit();//事务提交
conn.setAutoCommit(true);// 更改jdbc事务的默认提交方式
List
while (rs.next()) {//如果有数据,取第一列添加如list
list.add(rs.getString(1));
}
if(list != null && list.size()>0){//如果list中存入了数据,转化为数组
String[] arr=new String[list.size()];//创建一个和list长度一样的数组
for(int i=0;i
}
//输出数组
for(int i=0;i
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//搞定。。。。。。。。。。。。。。。
是说的查询后显示的结果放在一个数组中吧?
public List findFtpInfoByCond(){
Connection conn=null;
DB db=new DB();
PreparedStatement ps=null;
ResultSet rs;
String sql="select * from ftpMessage where 1=1";
System.out.println(sql);
ps=db.getConnection().prepareStatement(sql);
rs=ps.executeQuery();
List list=new ArrayList();
while(rs.next()){
Ftp ftp=new Ftp();
ftp.setFtpId(rs.getInt("ftpId"));
ftp.setFtpName(rs.getString("ftpName")) ;
ftp.setFtpAddress(rs.getString("ftpAddress")) ;
ftp.setServerType(rs.getString("serverType")) ;
ftp.setFtpPort(rs.getString("ftpPort")) ;
ftp.setFtpAdmi(rs.getString("ftpAdmi")) ;
ftp.setDownloadUser(rs.getString("downloadUser")) ;
ftp.setUploadUser(rs.getString("uploadUser")) ;
list.add(ftp) ;
}
return list;
}
这样就把查询到的结果放在一个list数组中了。在后面你就可以调用这个类,得到一个list,然后用for循环可以显示出来