码迷,mamicode.com
首页 > 数据库 > 详细

java通过属性文件调用数据库

时间:2018-07-18 17:04:10      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:com   input   文件   throws   sqlserver   eclipse   column   文件中   array   

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

public class DAOHelper {

/**
* 
* 
* @param args
*/
public static void main(String []args)
{
DAOHelper de=new DAOHelper();
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());
}

}


//    oracle连接属性设置
private static String driver;
private static String url;
private static String user;
private static String passwd; 
//连接类和接口    
Connection ct;
PreparedStatement ps;
ResultSet rs;


//    读取属性文件初始化数据库连接变量
static { Properties pp=new Properties();

InputStream fis = DAOHelper.class.getClassLoader().getResourceAsStream("derby.properties");
try {
pp.load(fis);

driver=pp.getProperty("driver");
url=pp.getProperty("url");
user=pp.getProperty("username");
passwd=pp.getProperty("password");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(pp!=null) pp.clear();
try {
if(fis!=null) fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public DAOHelper()
{
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]);
}
}
}}

 属性文件

sql.properties

username=sa
password=bbc223344
url=jdbc\:sqlserver\://192.168.1.109\:142;databaseName\=QqDB
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

 

derby.properties

username=classiccars
password=classiccars
url=jdbc\:derby\://localhost\:1527/myeclipse
driver=org.apache.derby.jdbc.ClientDriver

mysql.properties

username=root
password=1234
url=jdbc\:mysql\://192.168.1.114\:3306/test
driver=com.mysql.jdbc.Driver

oracle.properties

username=scott
password=1234
url=jdbc\:oracle\:thin\:@192.168.1.114\:1521\:oracle1
driver=oracle.jdbc.driver.OracleDriver

 

ps:属性文件中的ip地址、用户名和密码需要酌情修改

java通过属性文件调用数据库

标签:com   input   文件   throws   sqlserver   eclipse   column   文件中   array   

原文地址:https://www.cnblogs.com/LittleSpring/p/9329404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!