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;
 }

}

仅供交流与学习!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值