一、Driver.properties文件内容
drivers=org.gjt.mm.mysql.Driver
url=jdbc:mysql://localhost:3306/lunzi
user=root
password=123456
二、DBConnection.java数据库连接类
/**
* 通过属性文件加载数据库驱动程序,建立数据库的连接
*/
package apple.lunzi.jdbc;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.log4j.Logger;
public class DBConnection
{
protected static Logger logger = Logger.getLogger(DBConnection.class.getName());
private String url;//数据库URL
private String userName;//登录数据库用户名
private String password;//用户密码
/**
* 返回到数据库的一个连接,在一个系统或类中,如果经常进行数据库的相关操作
* 会把建立数据库的连接作为一个单独的方法。
*/
public Connection getConnection()
{
getProperty();
Connection con = null;
try
{
con = DriverManager.getConnection(url, userName, password);
}
catch(SQLException e)
{
//e.printStackTrace();
logger.error("找不到指定的文件!!!",e);
}
return con;
}
/**
* 读取属性配置文件
*/
private void getProperty()
{
Properties prop = new Properties();
try
{
InputStream in = this.getClass().getResourceAsStream("/Driver.properties");
prop.load(in);
String driver = prop.getProperty("drivers");
if(driver != null)
System.setProperty("jdbc.drivers", driver);
url = prop.getProperty("url");
userName = prop.getProperty("user");
password = prop.getProperty("password");
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
三、JdbcManager.java封装jdbc类文件
package apple.lunzi.jdbc;
import java.sql.*;
public class JdbcManager extends DBConnection {
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
public ResultSet select(String sql){
try {
conn = super.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
......封装其他的方法(update,insert,delete)
public void close(){
try {
if(rs != null)
rs.close();
if(stmt != null)
stmt.close();
if(conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
