java 获取Connection

30 篇文章 0 订阅
package net.e_lian.bpm.util.sync;

import java.io.IOException;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;

public class DataUtil {
	
	// 定义日志对象
	private static Logger log = Logger.getLogger(DataUtil.class
			.getName());
	
	// 定义数据库URL
	private static String dbURL;
	// 定义数据库用户名
	private static String dbUserName;
	// 定义数据库密码
	private static String dbPassWord;
	// 定义数据库驱动
	private static String dbDriver;

	static {
		
		Properties props = new Properties();
		URL propsUrl = DataUtil.class.getClassLoader().getResource("a.properties");

		if (propsUrl == null) {
			throw new IllegalStateException("gome.properties missing");
		}
		// Load settings
		try {
			props.load(propsUrl.openStream());
			
			dbURL = (String) props.get("GOME_CENTER_FORM_URL");
			dbUserName = (String) props.get("GOME_CENTER_FORM_USERNAME");
			dbPassWord = (String) props.get("GOME_CENTER_FORM_PASSWORD");
			dbDriver = (String) props.get("GOME_CENTER_FORM_DRIVERCLASS");
			Class.forName(dbDriver);
		} catch (IOException e) {
			throw new RuntimeException("Could not load gome.properties:" + e);
		} catch (ClassNotFoundException e) {
			throw new RuntimeException("class not found:" + e);
		}
	}
	
	/**
	 * 获得conn
	 * 
	 * @return Connection
	 */
	public Connection getConnectionCentenForm() {	
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(dbURL, dbUserName, dbPassWord);
		} catch (SQLException e) {
			if (log.isLoggable(Level.WARNING)) {
				log.log(Level.WARNING, "", e);
			}
		}
		return conn;
	}
	
	// 定义日志对象
		private static Logger log_menu = Logger.getLogger(DataUtil.class
				.getName());
		
		// 定义数据库URL
		private static String dbURL_menu;
		// 定义数据库用户名
		private static String dbUserName_menu;
		// 定义数据库密码
		private static String dbPassWord_menu;
		// 定义数据库驱动
		private static String dbDriver_menu;

		static {
			
			Properties props = new Properties();
			URL propsUrl = DataUtil.class.getClassLoader().getResource("proxool.properties");

			if (propsUrl == null) {
				throw new IllegalStateException("proxool.properties missing");
			}
			// Load settings
			try {
				props.load(propsUrl.openStream());
				
				dbURL_menu = (String) props.get("jdbc-0.proxool.driver-url");
				dbUserName_menu = (String) props.get("jdbc-0.user");
				dbPassWord_menu = (String) props.get("jdbc-0.password");
				dbDriver_menu = (String) props.get("jdbc-0.proxool.driver-class");
				Class.forName(dbDriver_menu);
			} catch (IOException e) {
				throw new RuntimeException("Could not load proxool.properties:" + e);
			} catch (ClassNotFoundException e) {
				throw new RuntimeException("class not found:" + e);
			}
		}
		
		/**
		 * 获得conn 查询菜单用的SQL
		 *
		 * 
		 * @return Connection
		 */
		public Connection getConnectionMenu() {	
			Connection conn = null;
			try {
				conn = DriverManager.getConnection(dbURL_menu, dbUserName_menu, dbPassWord_menu);
			} catch (SQLException e) {
				if (log_menu.isLoggable(Level.WARNING)) {
					log_menu.log(Level.WARNING, "", e);
				}
			}
			return conn;
		}
	
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaConnection类是用于与数据库建立连接的核心类。它位于java.sql包中,并且是所有数据库驱动程序提供的接口的实现类之一。 在Java中进行数据库操作常常需要先建立数据库连接。Connection类的主要职责是提供了一组用于管理数据库连接的方法,包括连接数据库、断开数据库连接、提交事务等。 要使用Connection类,首先需要加载数据库驱动程序,并通过DriverManager类获取Connection对象。然后,可以使用Connection对象创建Statement对象,用于执行SQL语句。 在连接数据库时,通常需要提供数据库的地址、用户名和密码等信息。这些信息可以通过构造方法或者在连接URL中进行传递。 Connection类的一些常用方法包括: - close():用于关闭数据库连接。 - createStatement():创建一个Statement对象,用于执行不带参数的SQL语句。 - prepareStatement():创建一个PreparedStatement对象,用于执行带有参数的预编译SQL语句。 - setAutoCommit():设置是否自动提交事务。 - commit():提交当前事务。 - rollback():回滚当前事务。 在使用Connection类时,需要注意及时关闭数据库连接,以免造成资源的浪费。可以通过try-with-resources语句或finally块来确保在使用完Connection对象后关闭连接。 总之,Connection类是Java中用于与数据库建立连接的重要类,通过它可以实现对数据库的访问和操作。它提供了一组用于管理数据库连接的方法,方便开发者进行数据库的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值