import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import com.mysql.jdbc.ResultSetMetaData;
public class MysqlHelper {
// 测试连接函数
public static void main(String []args)
{
derbyHelper de=new derbyHelper();
String sql="select * from users";
List<Object[]> list=de.queryList(sql, null);
for(int i=0;i<list.size();i++)
{ Object []obj=list.get(i);
System.out.println(obj[1].toString()+" "+obj[2].toString());
}
}
// mysql连接属性设置
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://192.168.1.114:3306/test";
String user="root";
String passwd="1234";
// 连接类和接口
Connection ct;
PreparedStatement ps;
ResultSet rs;
public MysqlHelper()
{
try {
Class.forName(driver);
ct=DriverManager.getConnection(url,user,passwd);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public int Update(String sql,String []paras)
{
int count=0;
try {
ps=ct.prepareStatement(sql);
// 注入参数
this.setParameters(paras);
// 获得更新数据行数。
count=ps.executeUpdate() ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.close();
}
return count;
}
/**
* @param sql
* @param paras 没有注入参数可为null或空串。
* @return 返回一个ResultSet结果集。
*/
public ResultSet query(String sql,String[] paras)
{
try {
ps=ct.prepareStatement(sql);
this.setParameters(paras);
rs=ps.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//不能关。
}
return rs;
}
/**
* @param sql
* @param paras 没有注入参数可为null或空串。
* @return 返回一个装有对象数组的List。
*/
public List queryList(String sql,String []paras)
{
List<Object[]> list=new ArrayList<Object[]>();
try {
ps=ct.prepareStatement(sql);
this.setParameters(paras);
rs=ps.executeQuery();
ResultSetMetaData rsmd=(ResultSetMetaData) rs.getMetaData();
int count=rsmd.getColumnCount();
// 将查询结果放入对象数组中。
while(rs.next())
{ int rows= rs.getRow();
Object obj[]=new Object[count];
for(int j=0;j<count;j++)
{ obj[j]=rs.getString(j+1);
}
list.add(obj);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{ this.close(); }
return list;}
public void close()
{
try {
if(rs!=null) rs.close();
if(ps!=null) ps.close();
if(ct!=null) ct.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void setParameters(String[] paras) throws SQLException {
if(paras!=null && !paras.equals(""))
{ for(int i=0;i<paras.length;i++)
{
ps.setString(i+1, paras[i]);
}
}
}}