Java JDBC鏈接數據庫實例

 

不要忘了把數據庫驅動的jar包放入lib

1.dbConfig.properties文件內容如下:放入 src

#config file
driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
url=jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=LogIn
username=sa
password=

 

 

2.DBUtil.java內容如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;


/**
 * DBUtil這個類,獲取連接,關閉連接
 * @author本人
 *
 */

public class DBUtil {

 private static String driver = "";

 private static String url = "";

 private static String username = "";

 private static String password = "";


 /**
  * 顯示申明空結構
  *
  */
 
 public DBUtil() {

 }
 
 /**
  * 讀取配置文件dbConfig.properties的信息
  *
  */

 public static void init() {
  ResourceBundle res = ResourceBundle.getBundle("dbConfig");
  driver = res.getString("driver");
  url = res.getString("url");
  username = res.getString("username");
  password = res.getString("password");

 }


 /**
  * 獲得數據庫連接對象
  * @return
  * @throws ClassNotFoundException
  * @throws SQLException
  */
 
 public static Connection getConnection() throws ClassNotFoundException, SQLException
 {
  init();
  Connection conn=null;
  Class.forName(driver);
  conn=DriverManager.getConnection(url,username,password);
  
  return conn;
 }
 
 /**
  * 關閉數據庫連接對象
  * @param rs
  * @param stmt
  * @param conn
  */
 
 public static void closeAll(ResultSet rs,Statement stmt,Connection conn)
 {
  try {
   if(null!=rs)
    rs.close();
   if(null!=stmt)
    stmt.close();
   if(null!=conn)
    conn.close();
  } catch (SQLException e) {
   
   e.printStackTrace();
  }
 }
 
 
}

3.loginDao.java內容如下:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.accp.vo.loginVO;

public class loginDao {

 /**
  * 顯示申明空結構
  *
  */

 public loginDao() {

 }

 /**
  * 更具用戶名和密碼查找用戶對象是否存在
  *
  * @param username
  * @param password
  * @return
  */

 public loginVO selectByNamePwd(String username, String password) {

  loginVO loginVO = null;
  Connection con = null;
  PreparedStatement pstm = null;
  ResultSet rs = null;
  String sql = "SELECT * FROM login WHERE username = ? and password = ? ";
  try {
   con = DBUtil.getConnection();
   pstm = con.prepareStatement(sql);

   pstm.setString(1, username);
   pstm.setString(2, password);

   rs = pstm.executeQuery();

   if (rs.next()) {
    String uname = rs.getString(2);
    String upwd = rs.getString(3);

    loginVO = new loginVO(uname, upwd);
   }

  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   // 關閉數據庫聯接
   DBUtil.closeAll(rs, pstm, con);
  }

  return loginVO;
 }

 /**
  * 查找用戶是否存在
  * @param username
  * @return
  */
 public loginVO selectByName(String username) {

  loginVO loginVO = null;
  Connection con = null;
  PreparedStatement pstm = null;
  ResultSet rs = null;
  String sql = "SELECT * FROM login WHERE username = ?";
  try {
   con = DBUtil.getConnection();
   pstm = con.prepareStatement(sql);

   pstm.setString(1, username);
   

   rs = pstm.executeQuery();

   if (rs.next()) {
    String uname = rs.getString(2);
    

    loginVO = new loginVO();
    loginVO.setUsername(uname);
   }

  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   // 關閉數據庫聯接
   DBUtil.closeAll(rs, pstm, con);
  }

  return loginVO;
 }
 
 
 /**
  * 註冊用戶
  * @param username
  * @param password
  * @return
  */
 public int insert(String username,String password)
 {
  int row=0;
  
  Connection conn=null;
  PreparedStatement pstm=null;
  String sql="insert into login values(?,?)";
  
  try {
   conn=DBUtil.getConnection();
   pstm=conn.prepareStatement(sql);
   pstm.setString(1, username);
   pstm.setString(2, password);
   
   row=pstm.executeUpdate();
   
   
   
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }finally
  {
   DBUtil.closeAll(null, pstm, conn);
  }
  
  
  
  
  return row;
  
  
 }
 
 public static void main(String[] args)
 {
  loginDao ld=new loginDao() ;
  int i=0;
   System.out.println(ld.insert("test2", "1234"));
  
  
 }
 
 
}

4.loginVO.java內容如下:

public class loginVO {

 private int uid;

 private String username;

 private String password;

 public String getPassword() {
  return password;
 }

 public void setPassword(String password) {
  this.password = password;
 }

 public int getUid() {
  return uid;
 }

 public void setUid(int uid) {
  this.uid = uid;
 }

 public String getUsername() {
  return username;
 }

 public void setUsername(String username) {
  this.username = username;
 }

 public loginVO() {

 }

 public loginVO(String username, String password) {

  this.username = username;
  this.password = password;
 }

}

僅供交流與學習!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章