JDBC连接数据库

16 篇文章 0 订阅
5 篇文章 0 订阅

##JDBC连接数据库

在JavaWeb的开发中,常常需要用到数据库连接,编者在这里就向大家分享一下JDBC连接数据库.

首先,到网上下载你所使用的数据库的驱动程序jar文件,放到你的项目的lib目录下。
然后,在src目录下创建一个config.properties文件,内容为

#驱动程序名
driver=com.mysql.jdbc.Driver

#数据库url
url=jdbc:mysql://localhost:3306/数据库名?characterEncoding=UTF-8

#数据库用户名
username=root

#数据库密码
password=

接着,在src下的工具类包(一般包名是xx.xxx.utils)里面创建一个DBUtil.java文件,内容如下

package com.poster.dby.utils;

import java.io.IOException;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import java.sql.Connection;
import java.sql.PreparedStatement;
/**
 * 工具类 数据库连接及释放
 * @author szs
 *2015年4月8日
 */
public class DBUtil {
		//实例化Properties
		private static  Properties properties = new Properties();
		//使配置文件只加载一次
		static{
			try {
			InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("config.properties");
				properties.load(in);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		//MySQL数据库驱动
		private static String driver = properties.getProperty("driver").trim();
		//MySQL数据库主机地址 
		private static String url = properties.getProperty("url").trim();
		//MySQL数据库用户名
		private static String username = properties.getProperty("username").trim();
		//MySQL数据库密码
		private static String password =properties.getProperty("password").trim();
		//禁止new,阻止其被创建实例
		private DBUtil() {

		}
		//使驱动只注册一次,高版本的jdbc无需这个步骤
		static
		{
			try {
				//加载驱动
				try {
					Class.forName(driver).newInstance();
				} catch (InstantiationException e) {
					e.printStackTrace();
				} catch (IllegalAccessException e) {
					e.printStackTrace();
				}
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
		}
		//用来解决建立连接,方便修改,实现动态连接
		public static Connection getConnection()throws SQLException {
			  return (Connection) DriverManager.getConnection(url,username,password);
		}
		//用来释放连接,适用于删改查
		public static void closeDB(ResultSet rs,PreparedStatement ps,Connection conn) {
			try {
				if (rs!=null) {
					rs.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}finally{
				try {
					if (ps!=null) {
						ps.close();
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}finally{
					try {
						if (conn!=null) {
							conn.close();
						}
					} catch (SQLException e) {
						e.printStackTrace();
					}
				}
			}
		}
		//用来释放连接,适用于增
		public static void closeDB(PreparedStatement ps,Connection conn) {
			 try {
				if (ps!=null) {
					ps.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			} finally{
				try {
					if (conn!=null) {
						conn.close();
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
}

最后,在操作数据库的时候,使用

 Connection conn = DBUtil.getConnection();

即可获取连接。
最后的最后,不要忘记关闭数据库哦

//用来释放连接,适用于删改查
DBUtil.closeDB(rs,ps,conn);
//用来释放连接,适用于增
DBUtil.closeDB(ps,conn);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值