用Java查询sql返回结果:
package bw.jg.HelloMySql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class SelectInfo {
public static void main(String[] args){
try {
/*
* 数据库连接
*/
String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
final String user = "root";
final String password = "";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("连接成功");
Statement stmt=conn.createStatement();//创建一个Statement对象
String sql="SELECT t.*,CASE CONCAT( a1.customer_type, a2.customer_type ) WHEN 10 THEN \'公对私交易\' WHEN 01 THEN \'私对公交易\' WHEN 11 THEN \'公对公交易\' WHEN 00 THEN \'私对私交易\' END AS trade_type FROM trade t LEFT JOIN account a1 ON t.account_id1 = a1.account_id LEFT JOIN account a2 ON t.account_id2 = a2.account_id";//生成一条sql语句
ResultSet rs=stmt.executeQuery(sql);//执行查询,把查询结果赋值给结果集对象
int id = 0;
String account_id1 = null,account_id2 = null,trade_type=null;
float amount = 0;
System.out.println("id\t 转出账户\t\t\t 转入账户\t\t\t 金额 \t 交易类型");
while(rs.next()) {
id=rs.getInt(1);
account_id1=rs.getString(2);
account_id2=rs.getString(3);
amount=rs.getFloat(4);
trade_type=rs.getString(5);
System.out.println(id+"\t"+account_id1+"\t"+account_id2+"\t"+amount+"\t"+trade_type+"\t");
}
System.out.println("获得查询结果集");
conn.close();
System.out.println("关闭数据库连接对象");
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("引擎失败");
e.printStackTrace();
}
}
}
展开