JDBC连接数据库查询信息的步骤(提取成配置文件方式)

硬编码格式的弊端:数据库发生改变时,要重新修改代码,重新编译和部署

解决方法:将数据库信息写在配置文件当中,让程序通过读取配置文件来获得这些信息

jdbc.driver.class=com.mysql.jdbc.Driver
jdbc.connection.url=jdbc:mysql://127.0.0.1:3306/tree
jdbc.connection.username=root
jdbc.connection.password=123321

编写配置文件database.properties
创建包com.pb.tree.util,编写类ConfigManager 读取属性文件

package cn.tree.util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

//读取配置文件的工具类-单例模式
public class ConfigManager {
// 读取配置文件properties.load(inputstream)

private static ConfigManager configManager;
private static Properties properties;

private ConfigManager() {
String configFile = "database.properties";
properties = new Properties();
InputStream is = ConfigManager.class.getClassLoader()
.getResourceAsStream(configFile);

try {
properties.load(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}

public static ConfigManager getInstance() {
if (configManager == null) {
configManager = new ConfigManager();
}
return configManager;
}

public String getString(String key) {
return properties.getProperty(key);
}

}

修改MenuDao类的查询信息的方法

package cn.tree.util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

//读取配置文件的工具类-单例模式
public class ConfigManager {
	// 读取配置文件properties.load(inputstream)

	private static ConfigManager configManager;
	private static Properties properties;

	private ConfigManager() {
		String configFile = "database.properties";
		properties = new Properties();
		InputStream is = ConfigManager.class.getClassLoader()
				.getResourceAsStream(configFile);

		try {
			properties.load(is);
			is.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static ConfigManager getInstance() {
		if (configManager == null) {
			configManager = new ConfigManager();
		}
		return configManager;
	}

	public String getString(String key) {
		return properties.getProperty(key);
	}

}

  

package cn.tree.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import cn.tree.util.ConfigManager;

public class MenuDao {

	// 查询主目录
	public void getMainList() {
		Connection connection = null;
		Statement st = null;
		ResultSet rs = null;
		String driver = ConfigManager.getInstance().getString(
				"jdbc.driver.class");
		String url = ConfigManager.getInstance().getString(
				"jdbc.connection.url");
		String username = ConfigManager.getInstance().getString(
				"jdbc.connection.username");
		String password = ConfigManager.getInstance().getString(
				"jdbc.connection.password");

		try {
			// 1、加载驱动
			Class.forName(driver);
			// 2、获取数据库连接
			connection = DriverManager.getConnection(url, username, password);
			// 3、获取Statement对象,执行sql语句
			String sql = "select * from main";
			st = connection.createStatement();
			rs = st.executeQuery(sql);
			// 4、处理sql执行结果
			while (rs.next()) {
				int id = rs.getInt("id");
				String name = rs.getString("name");
				System.out.println("id: " + id + "\t" + "name: " + name);
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				// 5、释放资源
				rs.close();
				st.close();
				connection.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	public static void main(String[] args) {
		MenuDao menuDao = new MenuDao();
		menuDao.getMainList();
	}
}

  

时间: 2024-10-10 04:39:12

JDBC连接数据库查询信息的步骤(提取成配置文件方式)的相关文章

jdbc连接数据库的几个步骤

创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现. 代码如下: <span style="font-size:18px;">try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ;

java JDBC 连接数据库查询数据与直接使用sql的疑问

JDBC 封装连接是好的前提: SystemAuthorizingRealm c = new SystemAuthorizingRealm(); conn = c.getConnection(); // conn = ((DataSource) SpringContextUtil.getBean("dataSource")).getConnection(); PreparedStatement ps = conn.prepareStatement(sql); ps.setString(

JDBC连接数据库的7个步骤

1.JDBC所需的四个参数username.password.url.driverClass 2.加载JDBC驱动程序 3.创建数据库连接connection对象conn 4.创建preparedStatement 5.执行sql语句 6.遍历结果集 7.处理异常,关闭JDBC对象资源 详细内容: 1.JDBC所需的四个参数username.password.url.driverClass URL定义了连接数据库时的协议.子协议.数据源标识: jdbc:mysql://localhost:330

JDBC连接数据库返回结果集的Key值

JDBC连接数据库查询数据时时返回ResultSet结果集.ResultSet中存放键值对.我们可以首先取得Key值,然后通过key值获取我们想要的value.那么我们如何获取Key值呢?看下面代码: try { List<Map<String, String>> list = new ArrayList<Map<String, String>>(); rs = getStmt().executeQuery(sql); // 得到结果集ResultSet的结

JDBC连接数据库(MySql)步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能。

主要内容:  JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能. 把十一个功能都放在一起. 一.JDBC连接数据库(编辑)步骤(主要有六个步骤).  1.注册驱动: Class.formName("com.mysql.jdbc.Driver");  2.获取连接:(1) param1:  要连接数据库的url-----> String url="jdbc:mysql:/

使用JDBC连接数据库,查询结果转成List或者Map(简洁版)

使用JDBC连接数据库,查询结果转成List或者Map(臃肿版): http://my.oschina.net/zhengweishan/blog/484377 这个感觉不是很好:然后改成下面的这种方式: public static List<Map<String, Object>> convertList(ResultSet rs) {     List<Map<String, Object>> list = new ArrayList<Map<

JDBC连接数据库方法的封装,以及查询数据方法的封装(精华)

主要内容: 一般的连接数据库测试 把连接数据库的方法封装成一个类和测试 一个简单的插入表实例 查询数据实例 封装查询的数据库的信息 封装信息后的查询数据库 一.一般的数据库连接测试 1 public class TestConnection1 { 2 public static void main(String[] args) throws Exception { 3 Class.forName("com.mysql.jdbc.Driver"); 4 String url="

Java开发中JDBC连接数据库代码和步骤

JDBC连接数据库:创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String  className)实现. 例如: try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundException e){ Syste

9.1(JDBC概述)、(JDBC连接数据库),(JDBC查询数据)

2:JDBC的配置 下载地址:https://dev.mysql.com/downloads/file/?id=470333 这里下载到了C:\Users\王家丰\AppData\Local\Microsoft\Windows\INetCache\IE\Z2F72PPH\mysql-connector-java-5.1.42 3:JDBC连接数据库的步骤 一:注册mysql驱动:两种方式 项目中用的方式:Class.forName("com.masql.jdbc.Driver"); 二