`
fengfeng925
  • 浏览: 107126 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

通过Properties类读取配置文件封装Connection

阅读更多
一般在开发的时候,数据库的连接信息通常写在配置文件中,包括xml文件或者properties文件。而不是在每次连接的时候都要读取配置获得connection,封装的方法有许多,这里只介绍一种,通过Properties类对配置文件进行操作,从而达到封装connection的目的。

好了,首先properties文件中是Oracle数据库的连接信息,具体如下
driver oracle.jdbc.OracleDriver
url jdbc:oracle:thin:@localhost:1521:orcl
user scott
password tiger


好了,接下来我写一个工厂类来读取配置文件,从而对connection进行封装。具体代码如下
package org.whatisjava.project1.sevice.impl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class ConnectionFactory {
	private static String url;
	private static String driver;
	private static String user;
	private static String password;

	static {
		try {
			Properties props = new Properties();

			props.load(ConnectionFactory.class.getClassLoader()
					.getResourceAsStream("db.properties")); //得到当前类的类加载器,以流的方式读取配置文件

			driver = props.getProperty("driver");
			url = props.getProperty("url");
			user = props.getProperty("user");
			password = props.getProperty("password");

			Class.forName(driver); //加载驱动程序

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	//返回Connection
	public static Connection getConnection() throws Exception{
		try {
			Connection con = DriverManager.getConnection(url, user, password);
			return con;
		} catch (Exception e) {
			return null;
		}

	}
}



返回connection后,就可以在dao层对数据库进行CRUD操作了。
分享到:
评论
12 楼 b5158488 2009-10-27  
很老的例子了吧
11 楼 putonyuer 2009-10-23  
关键点 就在这句上


props.load(ConnectionFactory.class.getClassLoader()  
                    .getResourceAsStream("db.properties")); //得到当前类的类加载器,以流的方式读取配置文件  


10 楼 cn-done 2009-10-22  
lzyzizi 写道
public static Connection getConnection() throws Exception{  
        try {  
            Connection con = DriverManager.getConnection(url, user, password);  
            return con;  
        } catch (Exception e) {  
            return null;  
        }  
 
    } 

楼主在方法里把exception catch掉了,为什么还在方法的声明上抛出异常呢?


这位同学喜欢找钉子哇。
分析思想就可以了,深究问题大大的有。
9 楼 treblesoftware 2009-10-22  
love182055084 写道
treblesoftware 写道
storm0912 写道
数据库连接最好通过应用服务器来配置。然后通过jndi来访问。这样既可以避免暴露连接信息,又可以将连接池,事务等任务交给应用服务器管理。


您说的是 数据服务器 与 应用分离?

还是  数据服务器 与 应用合在一台机器上,通过jndi访问?


在不在同一台机器上跟通过jndi来访问有关系么?


通过网络通信不能不记网络造成的性能下降。
8 楼 fengfeng925 2009-10-22  
elvishehai 写道
Properties的功能不只是你说的这点吧,好像大多数人都拿别人想法在做来做去的,大家都知道什么Dao.及dao的连接方式! 有时候说多了没意思啊,

恩,我就是拿你的想法来做东西的。
7 楼 elvishehai 2009-10-22  
Properties的功能不只是你说的这点吧,好像大多数人都拿别人想法在做来做去的,大家都知道什么Dao.及dao的连接方式! 有时候说多了没意思啊,
6 楼 whaosoft 2009-10-22  
谢谢,又复习了一下Properties类的使用
5 楼 love182055084 2009-10-22  
treblesoftware 写道
storm0912 写道
数据库连接最好通过应用服务器来配置。然后通过jndi来访问。这样既可以避免暴露连接信息,又可以将连接池,事务等任务交给应用服务器管理。


您说的是 数据服务器 与 应用分离?

还是  数据服务器 与 应用合在一台机器上,通过jndi访问?


在不在同一台机器上跟通过jndi来访问有关系么?
4 楼 treblesoftware 2009-10-22  
storm0912 写道
数据库连接最好通过应用服务器来配置。然后通过jndi来访问。这样既可以避免暴露连接信息,又可以将连接池,事务等任务交给应用服务器管理。


您说的是 数据服务器 与 应用分离?

还是  数据服务器 与 应用合在一台机器上,通过jndi访问?
3 楼 lzyzizi 2009-10-22  
public static Connection getConnection() throws Exception{  
        try {  
            Connection con = DriverManager.getConnection(url, user, password);  
            return con;  
        } catch (Exception e) {  
            return null;  
        }  
 
    } 

楼主在方法里把exception catch掉了,为什么还在方法的声明上抛出异常呢?
2 楼 fengfeng925 2009-10-20  
storm0912 写道
数据库连接最好通过应用服务器来配置。然后通过jndi来访问。这样既可以避免暴露连接信息,又可以将连接池,事务等任务交给应用服务器管理。

通过框架配置或者容器封装谁都清楚,我写这个只是在纯用jdbc,不用框架的时候来进行简单封装的一种方法,并没有上升到企业开发的高度。
1 楼 Angel_Night 2009-10-19  
很认真的看了下 不是挖坟

相关推荐

    动态封装SQL语句,配置文件的调用与封装

    在配置文件中,我们可以存储数据库连接的URL、用户名和密码,然后在代码中通过Class.forName()加载JDBC驱动,使用DriverManager.getConnection()方法读取配置文件并建立数据库连接。为了提高代码的可维护性和可读性...

    java数据库封装类

    例如,当我们读取到配置文件中的数据库驱动类名后,可以通过`Class.forName()`方法加载该类,然后使用`DriverManager.getConnection()`方法建立连接。 下面是一个简单的数据库封装类的设计示例: 1. 创建一个`...

    连接数据库的工具类及其配置文件

    为了实现上述功能,可以使用`Properties`类加载配置文件,然后使用`getProperty()`方法获取属性值。例如: ```java Properties props = new Properties(); InputStream input = null; try { input = new ...

    RabbitMQ工具类实现配置文件动态创建队列和绑定

    3. **读取配置文件**:可以使用Java的`java.util.Properties`或者第三方库如Apache Commons Configurations来读取配置文件。配置文件中应包含队列和绑定的信息,例如队列名称、交换机类型、路由键等。 ```java ...

    Java配置文件链接数据库

    在Java代码中,我们可以使用`Properties`类来加载并解析这个配置文件,然后建立到数据库的连接。 下面是一个简单的示例,展示了如何在Java中读取配置文件并使用JDBC连接数据库: ```java import java.sql....

    定时读取PDF文件,并批量插入到数据库

    - **读取配置文件工具类**:可能使用了`java.util.Properties`来读取配置文件,如数据库连接信息,这有助于解耦代码和配置。 - **数据库连接工具类**:通常封装了数据库的连接、关闭等操作,提供静态方法供其他...

    ibatis配置文件信息

    ### ibatis配置文件信息 #### 一、简介 在Java开发领域中,ibatis(现称为...通过上述三个配置文件的设置,ibatis能够自动完成对数据库的操作,包括数据的增删改查以及自动封装数据等功能,极大地提高了开发效率。

    ADO封装类

    综上所述,“ADO封装类”是为了简化数据库操作而设计的,它可能包含了连接管理、SQL执行、数据获取和操作等功能,并通过实例代码帮助开发者快速上手。这样的封装使得开发者能更专注于业务逻辑,而不是底层数据访问的...

    Unity读取Excel文件所必须的dll

    ADO.NET提供了一组用于访问数据库的类,虽然它主要用于SQL Server等数据库操作,但也可以通过OleDb或Odbc连接器用于读取Excel文件。例如,你可以使用`System.Data.OleDb`命名空间下的`OleDbConnection`、`...

    javaEE实验报告2---SQLHelper工具类的编写.docx

    通过本次实验,学生不仅掌握了JDBC的基本操作方法,还学会了如何通过配置文件简化数据库连接的过程,并且能够编写出功能完善的SQLHelper工具类。这样的实践经历对于理解和应用Java EE技术有着重要的意义,也为后续的...

    JDBC工具类.txt

    在示例代码中,使用了`Properties`类来读取名为`jdbc.properties`的配置文件。具体步骤如下: 1. 创建`Properties`对象:`Properties pro = new Properties();` 2. 获取`jdbc.properties`文件路径:使用`...

    unity读取excel文件的dll Excel.dll ICSharpCode.SharpZipLib System.Data

    它允许Unity程序通过.NET框架与Excel文件交互,执行读取、写入等操作。在Unity中使用这样的库时,需要确保其与Unity兼容(通常是.NET 2.0或4.x兼容),否则可能会遇到运行时错误。 2. **ICSharpCode.SharpZipLib**...

    java JDBC包装类

    1. 加载配置:读取`config.properties`,获取数据库连接信息。 2. 数据库连接管理:提供`getConnection()`方法来创建并返回数据库连接。可能包括连接池的实现,如使用C3P0、HikariCP等,提高性能和资源利用率。 3. ...

    xml文档连接数据库或者properties连接数据库

    在Java代码中,可以使用`Properties`类来读取这些配置并建立数据库连接: ```java Properties prop = new Properties(); InputStream input = null; try { input = new FileInputStream("database.properties"); ...

    数据源封装代码jar包

    3. 配置加载器:负责读取并解析配置信息,可能支持XML、properties或YAML等多种格式。 4. 测试用例:验证数据源的正确性和性能。 5. 相关依赖库:如JDBC驱动,连接池实现(如Apache DBCP,C3P0,HikariCP等)。 6. ...

    对jdbc的封装的总结

    在Java中,我们可以使用Properties类来读取这些配置,为建立数据库连接提供必要的参数。例如: ```java Properties prop = new Properties(); InputStream input = null; try { input = new FileInputStream(...

    java jdbc dao

    - **加载配置文件**:通过`getResourceAsStream`方法加载`jdbc.properties`配置文件。 - **读取配置信息**:使用`Properties`类读取配置文件中的数据库连接参数,包括驱动类名、URL、用户名和密码。 - **注册驱动并...

    连接数据库JAVA类文件

    这个类可能包含了对SQL语句的封装,例如`executeQuery()`和`executeUpdate()`方法,用于执行读取和修改数据库的操作。此外,它还可能提供了处理结果集的方法,以便于获取和操作查询结果。 3. **Sql.properties**: ...

Global site tag (gtag.js) - Google Analytics