Demo类
package com.lzy.obj;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class Demo11 {
public static void main(String[] args) {
Connection conn=JDBCUtil.getMysqlConn();
PreparedStatement ps=null;
ResultSet rs=null;
List<Object[]>list=new ArrayList<Object[]>();
try {
ps=conn.prepareStatement("select empname,salary,age from emp where id>?");
ps.setObject(1, 1);
rs=ps.executeQuery();
while(rs.next()) {
Object[]objs=new Object[3];//一个Object数组封装了一条记录的信息
System.out.println(rs.getString(1)+"--"+rs.getDouble(2)+"--"+rs.getInt(3));
objs[0]=rs.getString(1);
objs[1]=rs.getObject(2);
objs[2]=rs.getObject(3);
list.add(objs);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
JDBCUtil.close(rs,ps,conn);
}
for(Object[] objs:list) {
System.out.println(""+objs[0]+objs[1]+objs[2]);
}
}
}
每生成一条语句放入到一个Object[]数组中,多个Object[]数据合放到List集合里,这样即使数据库关闭,依旧能读取到信息。
JDBCUtil类
package com.lzy.obj;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JDBCUtil {
static Properties pros =null;//可以帮助读取和处理资源文件中的信息
static {
//加载JDBCUtil类的时候调用
pros=new Properties();
try {
pros.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));
//可以不用记,直接抄就行
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getMysqlConn(){
try {
Class.forName(pros.getProperty("mysqlDriver"));
return DriverManager.getConnection(pros.getProperty("mysqlURL"),
pros.getProperty("mysqlUser"),pros.getProperty("mysqlPwd"));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static Connection getOracleConn(){
try {
Class.forName(pros.getProperty("oracleDriver"));
return DriverManager.getConnection(pros.getProperty("oracleURL"),
pros.getProperty("oracleUser"),pros.getProperty("oraclePwd"));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void close(ResultSet rs,Statement ps,Connection conn){
try {
if(rs!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(ps!=null){
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void close(Statement ps,Connection conn){
try {
if(ps!=null){
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void close(Connection conn){
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
db.properties文件
mysqlDriver=com.mysql.jdbc.Driver
mysqlURL=jdbc:mysql://localhost:3306/testjdbc
mysqlUser=root
mysqlPwd=123456