JDBC通过文件读取加载方式连接数据库(以MySQL为例)

###JDBC通过文件读取加载方式连接数据库(以MySQL为例)

前言: 在java项目开发中,必然会经常使用到数据库连接,并且数据库的种类也不尽相同,另外JDBC(java DataBase Connectivity :java数据库连接)的方式也有很多种方式。所以本博文是以文件读取加载方式连接数据库,这种方式的好处在于当数据库驱动,地址或者用户名密码发生变动时,只需要在文件里改动即可,而不需要在代码里改动,这也很好体现了代码的封装性原则。


废话少说,先在eclipse里建立个名为JDBCtest的项目同时导入mysql-connector的文件包(文件包下载及导入方法就自行百度吧)。
在src文件下建立一个包名为util的工具包(在项目开发里,很有必要对代码进行模块化分类,所以像数据库连接这类工具型代码就应放在一个专门存放工具类的包里),接着在util工具包下建立一个名为DbUtil的类。再建立一个包名为Test的测试包,并在里面建一个TestDbutil的类,后面会在里面写main主方法进行测试数据库连接。
另外在项目文件处建立一个与src同级的Sourse Folder的文件取名为sof,并在文件中建立一个名为Db.properties的资源文件。
如图所示:
这里写图片描述

#####到此,我们就建立好了基本的目录文件结构。


#####接着先写好工具类,即在DbUtil.java类中填码
1.在DbUtil.java类中定义私有属性:

 //数据库驱动 
 private static String Driver=""; 
 //数据库地址
 private static String url="";
 //数据库用户名
 private static String userName="";
 //数据库密码
 private static String password="";

2.创建static静态代码块,项目启动的时候就执行加载数据库连接的必要配置文件信息。

static {
      Properties p=new Properties();
      try {
           //通过相对路径加载文件
			p.load(new FileInputStream(new File("cof/Db.properties")));
			//用getProperty方法通过关键字获取信息
			Driver = p.getProperty("Driver");
			url = p.getProperty("url");
			userName = p.getProperty("userName");
			password = p.getProperty("password");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}      
}

3.创建数据库连接的方法体

//获取数据库连接
public Connection getConn(){
		   Connection conn=null;   
		   try {
			//加载驱动
			Class.forName(Driver);
			//获取数据库连接
						conn=DriverManager.getConnection(url,userName,password);
		
			 }
		   catch (SQLException e) {
				e.printStackTrace();
			}
		  catch (ClassNotFoundException e){	
			e.printStackTrace();
		}
		   return conn;
		}

4.创建关闭数据库连接的方法体

//关闭数据库资源
		public void closeAll(ResultSet rs,Statement stat,Connection conn){
		/*分别按顺序关闭数据库的结果集资源,Statement 对象资源以及Connection 连接数据库对象*/
			if(rs!=null){
				try {
					rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if(stat!=null){
				try {
					stat.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if(conn!=null){
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			
		}

一个简单的java数据库连接工具类就这样了


####接下来就是配置文件的设定了
因为我们是以连接MySQL数据库为例子的,并且是以本地电脑进行的测试,路径连接的是本地的一个名为sasa的数据库,且mysql的用户密码都是默认的root,所以在Db.properties文件里的配置信息也就确定了(读者如要进行测试可能会需要进行相应修改)。本人的配置信息就如下了:

Driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/sasa
userName=root
password=root

最后终于可以进行下测试了

因为本文的主要目的是用文件加载方式连接数据库,所以在测试连接时会比较简单,我打算在在连接数据库成功后在控制台中输出一个数据库表的内容,如下图所示,是我用Navicat数据库管理工具打开的一个表内容。
这里写图片描述
我们现在要做的就是在TestDbutil类中运用DbUtil工具包连接数据库,并输出表格内容。

public class TestDbutil {

	public static void main(String[] args) {
		//new一个DbUtil对象从而得到连接数据库的方法
		DbUtil util = new DbUtil();
		Connection conn = util.getConn();
		//操作数据库
		String sql ="select * from person";
		ResultSet rs =null;
		PreparedStatement ptp=null;
		try {
			 ptp= conn.prepareStatement(sql);
			rs= ptp.executeQuery();
			System.out.println("ID"+"\40     "+"姓名"+" \40        "+"年龄"+"\40       "+"性别");
			while(rs.next()){
				int id = rs.getInt("personID");
				String name = rs.getString("userName");
				int age = rs.getInt("age");
				String sex = rs.getString("sex");
				System.out.println(id+" \40    "+name+" \40        "+age+" \40  "+sex);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			//关闭数据库资源
			util.closeAll(rs, ptp, conn);
		}				
	}
}

进行测试的结果就如下了:
这里写图片描述


注:上面的代码可能没有完整展现出来,而且需要导的包也没有显示出来,所以我上传了这个测试的一个Demo和一个mysql数据表。
连接:http://download.csdn.net/detail/u013077446/9078583


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Java语言连接MySQL数据库,可以使用JDBCJava Database Connectivity)API。 以下是使用JDBC连接MySQL数据库的步骤: 1. 下载MySQL JDBC驱动程序:从MySQL官方网站下载MySQL JDBC驱动程序JAR文件。 2. 导入MySQL JDBC驱动程序:在Java项目中导入MySQL JDBC驱动程序JAR文件。 3. 加载驱动程序:使用Class.forName()方法加载MySQL JDBC驱动程序。 4. 创建连接:使用DriverManager.getConnection()方法创建一个连接对象,连接到MySQL数据库。 5. 创建语句对象:使用Connection对象的createStatement()方法创建一个Statement对象,用于执行SQL语句。 6. 执行SQL语句:使用Statement对象的executeQuery()方法执行SQL语句,并返回一个ResultSet对象,用于读取查询结果。 7. 处理查询结果:使用ResultSet对象的next()方法遍历查询结果集,并使用getXXX()方法获取每一列的值。 8. 关闭连接:使用Connection对象的close()方法关闭连接。 以下是一个简单的Java程序,演示如何使用JDBC连接MySQL数据库,并执行一个查询: ```java import java.sql.*; public class MySQLTest { public static void main(String[] args) { try { // 加载MySQL JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 创建连接 Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8", "root", "password"); // 创建语句对象 Statement stmt = conn.createStatement(); // 执行查询 ResultSet rs = stmt.executeQuery("SELECT * FROM user"); // 处理查询结果 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.printf("id=%d, name=%s, age=%d%n", id, name, age); } // 关闭连接 rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的示例中,我们使用了以下参数连接到MySQL数据库: - 主机名:localhost - 端口号:3306 - 数据库名:test - 编码:UTF-8 - 用户名:root - 密码:password 您应该将这些参数替换为您自己的数据库连接参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值