JDBC连接数据库

##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);

全部评论

相关推荐

10-10 17:54
点赞 评论 收藏
分享
shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务