您的位置:首页 > 编程语言 > Java开发

java DBHelper

2015-06-19 00:00 489 查看
package db;

import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import javax.servlet.ServletContext;

public class DBHelper {
private Connection conn=null;
private PreparedStatement stm=null;
private ResultSet rs=null;
private String stringurl=null;
public DBHelper(ServletContext ser)
{
sqlGetConnection(ser);
sqlGetConnectionstr();
}
public DBHelper(String stringurl)
{
this.stringurl=stringurl;
sqlGetConnectionstr();
}
private void sqlGetConnection(ServletContext ser)
{
ServletContext servletContext = ser;
String path=servletContext.getRealPath("/db.conf");
String url=null;
InputStream in=null;
Properties prop=new Properties();
try {
in=new FileInputStream(path);
prop.load(in);
String IP=prop.getProperty("IP");
String port=prop.getProperty("Port");
String username=prop.getProperty("UserName");
String password=prop.getProperty("PassWord");
String dbname=prop.getProperty("DBName");
String defaultdb=prop.getProperty("DefaultDB");
url="jdbc:"+dbname+"://"+IP+":"+port+"/"+defaultdb+"?user="+username+"&password"+password;
this.stringurl=url;
in.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void sqlGetConnectionstr()
{
try {
//装载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动连接错去");
}
conn=DriverManager.getConnection(this.stringurl,"root","");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void sqlClose()
{
try {
if(rs!=null)
{
rs.close();
}
if(conn!=null)
{
conn.close();

}
if(stm!=null)
{
stm.close();
}

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void AddParameter(Object...setvalue)
{

try {
int i=1;
for(Object setv : setvalue)
{
if(setv.getClass().getName()=="java.lang.String")
{
stm.setString(i, setv.toString());

}
System.out.println(setv.getClass().getName());
if(setv.getClass().getName()=="java.lang.Integer")
{

stm.setInt(i,Integer.parseInt(setv.toString()));

}
i++;
}

} catch (SQLException e) {
// TODO Auto-generated catch block
sqlClose();
e.printStackTrace();
}
}
public int sqlExcuteQuery(String stringsql,Object...setvalue)
{
sqlGetConnectionstr();
int i=0;
try {
stm=conn.prepareStatement(stringsql);
AddParameter(setvalue);
i=stm.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
sqlClose();
}
return i;
}
private ResultSet sqlResultSet(String stringsql,Object...setvalue)
{
sqlGetConnectionstr();
try {
stm=conn.prepareStatement(stringsql);
AddParame
7fe0
ter(setvalue);
rs=stm.executeQuery();
} catch (Exception e) {
// TODO Auto-generated catch block
sqlClose();
e.printStackTrace();

}

return rs;

}
public ResultSet sqlExcuteQueryResultSet(String stringsql,Object...setvalue)
{
sqlGetConnectionstr();
try {
return sqlResultSet(stringsql,setvalue);
} catch (Exception e) {
// TODO Auto-generated catch block
sqlClose();
e.printStackTrace();

}
finally
{
sqlClose();

}
return rs;
}
public int sqlExcuteQueryResultSetRow(String stringsql,Object...setvalue)
{
int countrow=0;
try {
sqlResultSet(stringsql,setvalue);
while(rs.next())
{
countrow++;
}
} catch (SQLException e) {
sqlClose();
e.printStackTrace();
}
finally
{
sqlClose();
}
return countrow;
}
public List<List<Object>> sqlExcuteQueryList(String stringsql,Object...setvalue)
{
sqlGetConnectionstr();
List<List<Object>> list=null;
int countrow=0;
try {
list=new ArrayList<List<Object>>();
sqlResultSet(stringsql,setvalue);
//查看元数据
ResultSetMetaData rsmd=rs.getMetaData();
int countcloumn=rsmd.getColumnCount();
while(rs.next())
{
List<Object> listrow=new ArrayList<Object>();
for(int i=1;i<=countcloumn;i++){
listrow.add(rs.getString(i));
}
list.add(listrow);
countrow++;
}
} catch (SQLException e) {
sqlClose();
e.printStackTrace();
}
finally
{
sqlClose();
}
if(countrow==0)
{
return null;
}
else
{
return list;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  DBHelper