分享一下自己最近写的一个JDBC工具类吧,不对之处还请各位不吝赐教
在项目的目录下创建config文件夹,在里面新建文件保存jdbc的配置信息,这样做便于修改
jdbc.properties内容:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/xianfeng?useUnicode=true&characterEncoding=utf8
user=root
password=root
xianfeng就是对应数据库的名字
用户和密码要改成自己的哦
在src下新建一个util包,分别对应三个类Config、jdbcTest、jdbcUtil。
Config用于读取配置文件的方法
package util;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class Config {
private Properties prop = new Properties();
public Config(String file)
{
try
{
InputStream in = new FileInputStream(file);
prop.load(in);
}
catch (IOException e)
{
e.printStackTrace();
}
}
public String getValue(String key)
{
return prop.getProperty(key);
}
}
jdbcUtil主要用于数据库方法的封装
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcUtils {
private static String driverClass ;
private static String url ;
private static String user ;
private static String password ;
static{
Config config = new Config("config/jdbc.properties");
//读取配置信息
driverClass = config.getValue("driver");
url = config.getValue("url");
user = config.getValue("user");
password = config.getValue("password");
/**
* 驱动注册
*/
try {
Class.forName(driverClass);//注册加载驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 获取 Connetion
* @return
* @throws SQLException
*/
public static Connection getConnection() throws SQLException{
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
/**
* 关闭ResultSet资源
* @param rs
*/
public static void close(ResultSet rs){
if(null != rs){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭Statement资源
* @param stmt
*/
public static void close(Statement stmt){
if(null != stmt){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭close资源
* @param conn
*/
public static void close(Connection conn){
if(null != conn){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭资源
* @param rs
* @param stmt
* @param conn
*/
public static void close(ResultSet rs,Statement stmt,Connection conn){
close(rs);
close(stmt);
close(conn);
}
}
jdbcTest主要对工具类的测试
package util;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class jdbcTest {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
//获取连接
conn = JdbcUtils.getConnection();
//编写sql
String sql = "select * from t_bingli";
//创建语句执行者
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
while(rs.next()) {
//输出结果中的第一列和第二列
System.out.println(rs.getString(1)+"+++"+rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JdbcUtils.close(rs, stmt, conn);
}
}
}
结果:
对应到数据库的信息:
现在大概应该掌握了如何使用这个简单的jdbc工具类了吧,赶紧去试试吧