看到一本书中介绍了数据库简单编程,讲了一些优化数据库使用的方法,这里记录如下:

在使用时连接数据库:

public Connection getConnection()throws SQLException,ClassNotFoundException{
    Class.forName(driver);
    Connection con=DriverManager.getConnection(url,userName,password);
    return con;
}

这种方法的缺点是当需要许多连接时比较麻烦,而且直接使用driver,url,userName,password字符串,以后如果程序长大后,不好更改。

使用一个类文件保存数据库连接的信息:

public class DBData{ public static final String DRIVER=”com.mysql.jdbc.Driver”; public static final String URL=”jdbc:mysql://localhost:3306/test”; public static final String USER_NAME=”root”; public static final String PASSWORD=”123456”; }

这中方法较前一种方法的好处是,以后修改可以只用修改这个类中的静态常量就行了。但缺点是修改了这个文件项目必须重新部署。

使用属性文件:

建立一个属性文件:DB.properties 内容如下

driver="com.mysql.jdbc.Driver"
url="..............."
userName="..............."
password=" .............."

建立一个获取属性的类 DB.java 内容如下

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class DB{
    private String driver,url,userName,password;
    public DB(){
        driver=getProperty("driver");
        url=getProperty("url");
        userName=getProperty("userName");
        password=getProperty("password");
    }
    public String getProperty(String param){
        InputStream in;
        Properties p=new Properties();
        try{
            in=Class.forName("DB").getResourceAsStream("DB.properties");
            p.load(in);
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }catch(IOException e{
            e.printStackTrace();
        }
        return p.getProperty(param);
    }
    public String getDriver(){
        return driver;
    }
...