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