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

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地址、用户名和密码需要酌情修改

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

时间: 2024-12-12 09:36:18

java通过属性文件调用数据库的相关文章

Java操作属性文件,支持新增或更新多个属性

Java操作属性文件,支持新增或更新多个属性 一.更新或新增单个属性的方法 /** * 写入properties信息 * @param filePath 绝对路径(包括文件名和后缀名) * @param parameterName 名称 * @param parameterValue 值 */ public static void writeProperties(String filePath, String parameterName, String parameterValue) { Pro

基于Java的XML文件模拟数据库进行增删改查操作

我们知道XML文件既可以用来进行数据的传输,也可以配合DTD约束文件用来作为配置文件,当然其本质就是一个加了标签以及众多空格保持格式的字符串,那么就可以用Java进行操作. 本例是使用MyEclipse带入DOM4j解析时要用的jar包的基础上做的:当然DOM4j相对于DOM SAX 等解析方式的方便程度是不言而喻的. 下面是本次用例XML文件 <?xml version="1.0" encoding="UTF-8"?> <persons> 

依据不同的操作系统读取配置文件/java读取属性文件代码

package cn.com.css.common.util; /** * @brief OSEnum.java 操作系统的枚举 * @attention * @author 涂作权 * @date 2014年4月3日 * @note begin modify by null */ public enum EOSPlatForm { Any("any"), Linux("Linux"), Mac_OS("Mac OS"), Mac_OS_X(&q

Java操作属性文件之工具类

最近空闲时间整理一下平时常用的一下工具类,重复造轮子实在是浪费时间,如果不正确或者有待改善的地方,欢迎指教... package com.hsuchan.business.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Propertie

java的properties文件从数据库添加到文件

package com.xian.jdbc; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; impor

Java 导入Excel文件到数据库

原文:http://www.jb51.net/article/44021.htm 项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两个工具.这里我们介绍使用POI实现读取excel文档. (注:HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls XSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx Workbook wb = null; //当excel是200

Java实现获取属性文件的参数值

Java实现获取属性文件的参数值 1,属性文件内容(analysis.properties),路径必须在:src根目录下: #client data path analysis.client.data.path = D://analysis/data/ #server data path analysis.server.data.path = /home/iq126/xyzqiq126/file_tang/ 2,获取属性文件的方法: /** * @Title: getPropertiesValu

java编程——servlet和Ajax异步请求的接口编程(没有调用数据库的数据)

编程应用背景: 使用HttpServlet接口来编写一个动态登录的接口(需要在Tomcat容器发布) 登录的 LoginSample 类代码: 1 package com.zhang.java; 2 3 public class LoginSample { 4 public LoginSample() { //构造方法 5 // System.out.println("构造方法被调用!"); 6 } 7 8 public boolean login(String ln, String

java中.properties属性文件的使用案例源码

一.描述 java中的.properties属性文件的正确使用可以解决很多问题,比如一个登录界面要做一个记住用户登录过的用户名和密码并且放在本地方便用户登录. 二.操作步骤 1.  打开eclipse工程文件目录下的XX.properties文件,如果没有就创建一个 2. 以键-值对的方式记录用户最近登录过的用户名--密码,添加一个键值对 3. 移除一个键-值对 4. 保存这个属性文件 5. 获取属性文件的所有键 6. 获取指定键的属性值 二.源代码 //在工作主目录下(即eclipse项目目录