关于数据库连接的一点理解,通过properties类获取数据库信息

来源:互联网 发布:找北极星的软件 编辑:程序博客网 时间:2024/05/29 15:58

在学习JDBC这一章时,发现我们连接数据库的时候通过DriverManager.getConnection(url,"用户名","密码")这里面的url,用户名,密码我们已经知道,但在实际编程中,我们程序员是不知道的,这些都是通过数据库管理员管理的。一般来时数据库管理员给我们提供一个.properties文件,里面装有数据库的信息,但这些对我们程序员来说是不可见的。

//本文要理解java.util.Properties类


//通过properties类来访问properties文件里面的键值对
//可以用于数据库连接时用来得到数据源地址(url),数据库用户名(username),
//数据库密码 (userpassword),它们在properties里面用键值对形式保存。
//也就是说url,username,userpassword对于程序员来时说是不可见的


import java.util.Properties;
import java.sql.*;
import java.io.*;

//a.properties文件内容
/*url = jdbc:sqlserver://127.0.0.1:1433;
 DatabaseName = student
 userName =sa
 userPassword =zh375288
*/
//得到url,username,userpassword的类
//a.properties文件程序员是不可见的,要数据库管理员来管理的,
//以键值对的方式保存了数据库中的信息
class DBInformation{
 public static Connection getConnection() throws SQLException,IOException{
  Connection conn = null;
  FileInputStream fis = new FileInputStream("E:/a.properties");
  Properties ps = new Properties();
  ps.load(fis);//从输入流中读取属性列表(键和元素对)
  String url = ps.getProperty("url");
  url = url +"DatabaseName = " + ps.getProperty("DatabaseName");
  String userName = ps.getProperty("userName");
  String userPassword = ps.getProperty("userPassword");
  conn = DriverManager.getConnection(url,userName,userPassword);
  return conn;
  
 }

}

public class PropertiesDemo{
 public static void main(String[] args){
  try{
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   Connection conn = DBInformation.getConnection();
   Statement st = conn.createStatement();
   int count =st.executeUpdate("INSERT INTO STUDENTINFO VALUES('乔峰',36)");
   if(count>0){
    System.out.println("插入数据成功");
   }else{
    System.out.println("插入数据失败");
   }
   st.close();
   conn.close();
  }catch(ClassNotFoundException cnfe){
   cnfe.printStackTrace();
  }catch(SQLException sqle){
   sqle.printStackTrace();
  }catch(IOException ioe){
   ioe.printStackTrace();
  }
  
  
 }
}

原创粉丝点击