发布网友 发布时间:2022-04-27 11:16
共2个回答
懂视网 时间:2022-05-02 04:55
=********************* username=****** password=******
package cn.com.cis.acic.util; import java.io.IOException; import java.io.InputStream; 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 DBUtil { private static final String LOCATION="dbOracle.properties"; private static Properties props=new Properties(); static{ ClassLoader loader=DBUtil.class.getClassLoader(); InputStream is=loader.getResourceAsStream(LOCATION); try { props.load(is); } catch (IOException e) { System.out.println("填充Properties对象失败!"); e.printStackTrace(); } } private DBUtil(){} public static Connection getConnection(){ String driver=props.getProperty("driver"); String url=props.getProperty("url"); String username=props.getProperty("username"); String password=props.getProperty("password"); try { Class.forName(driver); } catch (ClassNotFoundException e) { System.out.println("数据库驱动类加载失败!"); e.printStackTrace(); } Connection conn=null; try { conn=DriverManager.getConnection(url, username, password); } catch (SQLException e) { System.out.println("连接数据库失败!"); e.printStackTrace(); } return conn; } public static void close(ResultSet rs,Statement stmt, Connection conn){ if(rs!=null){ try { rs.close(); } catch (SQLException e) { System.out.println("关闭结果集对象失败!"); e.printStackTrace(); } } if(stmt!=null){ try { stmt.close(); } catch (SQLException e) { System.out.println("关闭语句对象失败!"); e.printStackTrace(); } } if(conn!=null){ try { conn.close(); } catch (SQLException e) { System.out.println("关闭连接对象失败!"); e.printStackTrace(); } } } public static void close(ResultSet rs, Statement stmt){ close(rs,stmt,null); } public static void close(Statement stmt, Connection conn){ close(null,stmt,conn); } public static void close(Connection conn){ close(null,null,conn); } }
也可以直接读取,如:
//读取数据库链接: InputStream in = FeeManageServiceSpringImpl.class.getResourceAsStream("/accountjdbc.properties");//文件名称 InputStream in = new BufferedInputStream(new FileInputStream("D:\tomcat-7\webapps\sales\WEB-INF\classes\accountjdbc.proerties"));//详细地址 Properties p = new Properties(); p.load(in); String className2 = p.getProperty("DRIVER"); String url = p.getProperty("URL"); String user = p.getProperty("USER"); String password = p.getProperty("PASSWORD"); Class.forName(className2);
读取*.properties文件连接数据库
标签:resource 数据库链接 插入 cat print getc webapp 发送 buffer
热心网友 时间:2022-05-02 02:03
在prop包下建立LoadProp.java文件。 3.有很多方法来读取.properties文件,现将主要方法罗列出来: a.通过class的getResourceAsStream()方法来读取 package prop; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class LoadProp { public static void main(String[] args) { LoadProp loadProp = new LoadProp(); InputStream in = loadProp.getClass().getResourceAsStream("/config/a.properties"); Properties prop = new Properties(); try { prop.load(in); } catch (IOException e) { e.printStackTrace(); } System.out.println(prop.getProperty("name", "none")); System.out.println(prop.getProperty("age", "none")); } } 一定要注意的是,class里的getResourceAsStream()方法里参数的类路径一定要在前面加上"/",否则会报错 b.使用class的getClassLoader()方法所得的ClassLoader的getResourceAsStream()来读取 package prop; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class LoadProp { public static void main(String[] args) { LoadProp loadProp = new LoadProp(); InputStream in = loadProp.getClass().getClassLoader().getResourceAsStream("config/a.properties"); Properties prop = new Properties(); try { prop.load(in); } catch (IOException e) { e.printStackTrace(); } System.out.println(prop.getProperty("name", "none")); System.out.println(prop.getProperty("age", "none")); } } ClassLoader的getResourceAsStream()方法与Class的getResourceAsStream()方法有点区别,在这里一定不要在类路径前面加上"/",否则会报错,是不是很奇怪。 c.使用ResourceBundle来读取 package prop; import java.util.ResourceBundle; public class LoadProp { public static void main(String[] args) { ResourceBundle rb = ResourceBundle.getBundle("config/a"); System.out.println(rb.getString("name")); System.out.println(rb.getString("age")); } } 注意,getBundle()方法里的参数,是baseName,不要把后缀名写出来,并且不要加"/"。 好了,这是读取.properties文件的几种主要方法,还有其他的方法,基本上都大同小异。