DBHelper连接数据库

DBHelper连接数据库代码如下

package tools;

import java.io.Console;
import java.sql.*;
import java.util.Enumeration;
//import java.util.logging.*;
//import javax.swing.table.*;

/**
 *  SQL 鍩烘湰鎿嶄綔
 * 閫氳繃瀹?鍙互寰堣交鏉剧殑浣跨敤 JDBC 鏉ユ搷绾垫暟鎹簱
 * @author Null
 */
public class DBHelper
{

/**
     * 椹卞姩
     */
    //public static String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    public static String driver = "com.mysql.jdbc.Driver";
    /**
     * 杩炴帴瀛楃涓?
     */
    //public static String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=st";
    public static String url = "jdbc:mysql://localhost:3306/test";
    /**
     * 鐢ㄦ埛鍚?
     */
    public static String user = "root";
    /**
     * 瀵嗙爜
     */
    public static String password = "root";

/**
     * 涓嶅厑璁稿疄渚嬪寲璇ョ被
     */
    private DBHelper()
    {
    }

/**
     * 鑾峰彇涓?釜鏁版嵁搴撹繛鎺?
     * 閫氳繃璁剧疆绫荤殑  driver / url / user / password 杩欏洓涓潤鎬佸彉閲忔潵 璁剧疆鏁版嵁搴撹繛鎺ュ睘鎬?
     * @return 鏁版嵁搴撹繛鎺?
     */
    public static Connection getConnection()
    {
        try
        {
         //鑾峰彇椹卞姩
            Class.forName(driver);
        } catch (ClassNotFoundException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
        }

try
        {
            return DriverManager.getConnection(url, user, password);
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
            return null;
        }
    }

/**
     * 鑾峰彇涓?釜 Statement
     * 璇?Statement 宸茬粡璁剧疆鏁版嵁闆?鍙互婊氬姩,鍙互鏇存柊
     * @return 濡傛灉鑾峰彇澶辫触灏嗚繑鍥?null,璋冪敤鏃惰寰楁鏌ヨ繑鍥炲?
     */
    public static Statement getStatement()
    {
        Connection conn = getConnection();
        if (conn == null)
        {
            return null;
        }
        try
        {
            return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                    ResultSet.CONCUR_UPDATABLE);
        // 閻犱礁澧介悿鍡涘极閻楀牆绁﹂梻鍡楁瑜板弶绂掗妷锔炬硦闁告棑鎷烽柛娆樺灟娴滄帡寮寸?妯荤厐
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
            close(conn);
        }
        return null;
    }

/**
     * 鑾峰彇涓?釜 Statement
     * 璇?Statement 宸茬粡璁剧疆鏁版嵁闆?鍙互婊氬姩,鍙互鏇存柊
     * @param conn 鏁版嵁搴撹繛鎺?
     * @return 濡傛灉鑾峰彇澶辫触灏嗚繑鍥?null,璋冪敤鏃惰寰楁鏌ヨ繑鍥炲?
     */
    public static Statement getStatement(Connection conn)
    {
        if (conn == null)
        {
            return null;
        }
        try
        {

return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
            // 璁剧疆鏁版嵁闆嗗彲浠ユ粴鍔?鍙互鏇存柊
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
            return null;
        }
    }

/**
     * 鑾峰彇涓?釜甯﹀弬鏁扮殑 PreparedStatement
     * 璇?PreparedStatement 宸茬粡璁剧疆鏁版嵁闆?鍙互婊氬姩,鍙互鏇存柊
     * @param cmdText 闇? ? 鍙傛暟鐨?SQL 璇彞
     * @param cmdParams SQL 璇彞鐨勫弬鏁拌〃
     * @return 濡傛灉鑾峰彇澶辫触灏嗚繑鍥?null,璋冪敤鏃惰寰楁鏌ヨ繑鍥炲?
     */
    public static PreparedStatement getPreparedStatement(String cmdText, Object[] cmdParams)
    {
        Connection conn = getConnection();
        if (conn == null)
        {
            return null;
        }

PreparedStatement pstmt = null;
        try
        {
         
            pstmt = conn.prepareStatement(cmdText, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
            int i = 1;
            for (Object item : cmdParams) //java foreach閬嶅巻闆嗗悎,瑕佹眰闆嗗悎绫诲疄鐜癊numeration鎺ュ彛
            {
                pstmt.setObject(i, item);
                i++;
            }
        } catch (SQLException e)
        {
            e.printStackTrace();
            close(conn);
        }
        return pstmt;
    }

/**
     *  鑾峰彇涓?釜甯﹀弬鏁扮殑 PreparedStatement
     * 璇?PreparedStatement 宸茬粡璁剧疆鏁版嵁闆?鍙互婊氬姩,鍙互鏇存柊
     * @param conn 鏁版嵁搴撹繛鎺?
     * @param cmdText 闇? ? 鍙傛暟鐨?SQL 璇彞
     * @param cmdParams SQL 璇彞鐨勫弬鏁拌〃
     * @return 濡傛灉鑾峰彇澶辫触灏嗚繑鍥?null,璋冪敤鏃惰寰楁鏌ヨ繑鍥炲?
     */
    public static PreparedStatement getPreparedStatement(Connection conn, String cmdText, Object[] cmdParams)
    {
        if (conn == null)
        {
            return null;
        }

PreparedStatement pstmt = null;
        try
        {
            pstmt = conn.prepareStatement(cmdText, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
            int i = 1;
            for (Object item : cmdParams)
            {
                pstmt.setObject(i, item);
                i++;
            }
        } catch (SQLException ex)
        {
         System.out.println(ex.getMessage());
            //ex.printStackTrace();
            close(pstmt);
        }
        return pstmt;
    }

/**
     * 鎵ц SQL 璇彞,杩斿洖缁撴灉涓烘暣鍨?
     * 涓昏鐢ㄤ簬鎵ц闈炴煡璇㈣鍙?
     * @param cmdText SQL 璇彞
     * @return 闈炶礋鏁?姝e父鎵ц; -1:鎵ц閿欒; -2:杩炴帴閿欒
     */
    public static int ExecSql(String cmdText)
    {
        Statement stmt = getStatement();
        if (stmt == null)
        {
            return -2;
        }
        int i;
        try
        {
            i = stmt.executeUpdate(cmdText);
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null,ex);
         System.out.println(ex.getMessage());
            i = -1;
        }
        closeConnection(stmt);
        return i;
    }

/**
     * 鎵ц SQL 璇彞,杩斿洖缁撴灉涓烘暣鍨?
     * 涓昏鐢ㄤ簬鎵ц闈炴煡璇㈣鍙?
     * @param cmdText SQL 璇彞
     * @return 闈炶礋鏁?姝e父鎵ц; -1:鎵ц閿欒; -2:杩炴帴閿欒
     */
    public static int ExecSql(Connection conn, String cmdText)
    {
        Statement stmt = getStatement(conn);
        if (stmt == null)
        {
            return -2;
        }
        int i;
        try
        {
            i = stmt.executeUpdate(cmdText);

} catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
        
            i = -1;
        }
        close(stmt);
        return i;
    }

/**
     * 鎵ц SQL 璇彞,杩斿洖缁撴灉涓烘暣鍨?
     * 涓昏鐢ㄤ簬鎵ц闈炴煡璇㈣鍙?
     * @param cmdText 闇? ? 鍙傛暟鐨?SQL 璇彞
     * @param cmdParams SQL 璇彞鐨勫弬鏁拌〃
     * @return 闈炶礋鏁?姝e父鎵ц; -1:鎵ц閿欒; -2:杩炴帴閿欒
     */
    public static int ExecSql(String cmdText, Object[] cmdParams)
    {
        PreparedStatement pstmt = getPreparedStatement(cmdText, cmdParams);
        if (pstmt == null)
        {
            return -2;
        }
        int i;
        try
        {
            i = pstmt.executeUpdate();
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
           i = -1;
        }
        closeConnection(pstmt);
        return i;
    }

/**
     * 鎵ц SQL 璇彞,杩斿洖缁撴灉涓烘暣鍨?
     * 涓昏鐢ㄤ簬鎵ц闈炴煡璇㈣鍙?
     * @param conn 鏁版嵁搴撹繛鎺?
     * @param cmdText 闇? ? 鍙傛暟鐨?SQL 璇彞
     * @param cmdParams SQL 璇彞鐨勫弬鏁拌〃
     * @return 闈炶礋鏁?姝e父鎵ц; -1:鎵ц閿欒; -2:杩炴帴閿欒
     */
    public static int ExecSql(Connection conn, String cmdText, Object[] cmdParams)
    {
        PreparedStatement pstmt = getPreparedStatement(conn, cmdText, cmdParams);
        if (pstmt == null)
        {
            return -2;
        }
        int i;
        try
        {
            i = pstmt.executeUpdate();

} catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
            i = -1;
        }
        close(pstmt);
        return i;
    }

/**
     * 杩斿洖缁撴灉闆嗙殑绗竴琛岀殑涓?垪鐨勫?,鍏朵粬蹇界暐
     * @param cmdText SQL 璇彞
     * @return
     */
    public static Object ExecScalar(String cmdText)
    {
        ResultSet rs = getResultSet(cmdText);
        Object obj = getScalar(rs);
        closeConnection(rs);
        return obj;
    }

/**
     * 杩斿洖缁撴灉闆嗙殑绗竴琛岀殑涓?垪鐨勫?,鍏朵粬蹇界暐
     * @param conn 鏁版嵁搴撹繛鎺?
     * @param cmdText SQL 璇彞
     * @return
     */
    public static Object ExecScalar(Connection conn, String cmdText)
    {
        ResultSet rs = getResultSet(conn, cmdText);
        Object obj = getScalar(rs);
        closeEx(rs);
        return obj;
    }

/**
     * 杩斿洖缁撴灉闆嗙殑绗竴琛岀殑涓?垪鐨勫?,鍏朵粬蹇界暐
     * @param cmdText 闇? ? 鍙傛暟鐨?SQL 璇彞
     * @param cmdParams SQL 璇彞鐨勫弬鏁拌〃
     * @return
     */
    public static Object ExecScalar(String cmdText, Object[] cmdParams)
    {
        ResultSet rs = getResultSet(cmdText, cmdParams);
        Object obj = getScalar(rs);
        closeConnection(rs);
        return obj;
    }

/**
     * 杩斿洖缁撴灉闆嗙殑绗竴琛岀殑涓?垪鐨勫?,鍏朵粬蹇界暐
     * @param conn 鏁版嵁搴撹繛鎺?
     * @param cmdText 闇? ? 鍙傛暟鐨?SQL 璇彞
     * @param cmdParams SQL 璇彞鐨勫弬鏁拌〃
     * @return
     */
    public static Object ExecScalar(Connection conn, String cmdText, Object[] cmdParams)
    {
        ResultSet rs = getResultSet(conn, cmdText, cmdParams);
        Object obj = getScalar(rs);
        closeEx(rs);
        return obj;
    }

/**
     * 杩斿洖涓?釜 ResultSet
     * @param cmdText SQL 璇彞
     * @return
     */
    public static ResultSet getResultSet(String cmdText)
    {
        Statement stmt = getStatement();
        if (stmt == null)
        {
            return null;
        }
        try
        {
            return stmt.executeQuery(cmdText);
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
           closeConnection(stmt);
        }
        return null;
    }

/**
     * 杩斿洖涓?釜 ResultSet
     * @param conn
     * @param cmdText SQL 璇彞
     * @return
     */
    public static ResultSet getResultSet(Connection conn, String cmdText)
    {
        Statement stmt = getStatement(conn);
        if (stmt == null)
        {
            return null;
        }
        try
        {
            return stmt.executeQuery(cmdText);
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
            close(stmt);
        }
        return null;
    }

/**
     * 杩斿洖涓?釜 ResultSet
     * @param cmdText 闇? ? 鍙傛暟鐨?SQL 璇彞
     * @param cmdParams SQL 璇彞鐨勫弬鏁拌〃
     * @return
     */
    public static ResultSet getResultSet(String cmdText, Object[] cmdParams)
    {
        PreparedStatement pstmt = getPreparedStatement(cmdText, cmdParams);
        if (pstmt == null)
        {
            return null;
        }
        try
        {
            return pstmt.executeQuery();
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
            closeConnection(pstmt);
        }
        return null;
    }

/**
     * 杩斿洖涓?釜 ResultSet
     * @param conn 鏁版嵁搴撹繛鎺?
     * @param cmdText 闇? ? 鍙傛暟鐨?SQL 璇彞
     * @param cmdParams SQL 璇彞鐨勫弬鏁拌〃
     * @return
     */
    public static ResultSet getResultSet(Connection conn, String cmdText, Object[] cmdParams)
    {
        PreparedStatement pstmt = getPreparedStatement(conn, cmdText, cmdParams);
        if (pstmt == null)
        {
            return null;
        }
        try
        {
            return pstmt.executeQuery();
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
            close(pstmt);
        }
        return null;
    }

public static Object getScalar(ResultSet rs)
    {
        if (rs == null)
        {
            return null;
        }
        Object obj = null;
        try
        {
            if (rs.next())
            {
                obj = rs.getObject(1);
            }
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
        }
        return obj;
    }
 
    private static void close(Object obj)
    {
        if (obj == null)
        {
            return;
        }
        try
        {
            if (obj instanceof Statement)
            {
                ((Statement) obj).close();
            } else if (obj instanceof PreparedStatement)
            {
                ((PreparedStatement) obj).close();
            } else if (obj instanceof ResultSet)
            {
                ((ResultSet) obj).close();
            } else if (obj instanceof Connection)
            {
                ((Connection) obj).close();
            }
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
       }
    }

private static void closeEx(Object obj)
    {
        if (obj == null)
        {
            return;
        }

try
        {
            if (obj instanceof Statement)
            {
                ((Statement) obj).close();
            } else if (obj instanceof PreparedStatement)
            {
                ((PreparedStatement) obj).close();
            } else if (obj instanceof ResultSet)
            {
                ((ResultSet) obj).getStatement().close();
            } else if (obj instanceof Connection)
            {
                ((Connection) obj).close();
            }
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
        }

}

private static void closeConnection(Object obj)
    {
        if (obj == null)
        {
            return;
        }
        try
        {
            if (obj instanceof Statement)
            {
                ((Statement) obj).getConnection().close();
            } else if (obj instanceof PreparedStatement)
            {
                ((PreparedStatement) obj).getConnection().close();
            } else if (obj instanceof ResultSet)
            {
                ((ResultSet) obj).getStatement().getConnection().close();
            } else if (obj instanceof Connection)
            {
                ((Connection) obj).close();
            }
        } catch (SQLException ex)
        {
            //Logger.getLogger(DBHelper.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println(ex.getMessage());
       }
    }
}

实现实体类代码如下

package entity;
public class User{
 private String userID;
 private String userName;
 private String password;

public void setUserID(String userID){
  this.userID=userID;
 }
 public String getUserID(){
  return userID;
 }

public void setUserName(String userName){
  this.userName=userName;
 }
 public String getUserName(){
  return userName;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
}

写完

private String userID;
 private String userName;
 private String password;

getset即可

时间: 2024-08-05 02:05:20

DBHelper连接数据库的相关文章

用DBHelper在JSP页面中实现登录功能

首先我们需要写一个简单的登陆页面login.jsp,然后用from表单提交给index.jsp页面.在index.jsp页面通过DBHelper连接数据库判断账号和密码,如果密码正确则显示登陆成功. 下面是登陆页面代码 <html><head><base href="<%=basePath%>"> <title>登陆页面</title> </head> <body> //提交用户名密码到in

ADO.net 增删改查封装DBhelper

using System; using System.Collections.Generic; using System.Data.SqlClient;//引用数据库客户端 using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; using System.Data; namespace PubilcHelper { public class DBHelper { //

Android——黑名单管理(二)

说明:多加一点完善 1.在操作类 DAO 将连接数据库也放到了构造方法中,加删除全部的方法 2.主界面增加了姓名一栏,用layout文件将对话框分离出来 3.删除加确认提示 4.加删除全部按钮 BlackNumber.java package com.example.chenshuai.test321; /** * Created by chenshuai on 2016/4/16. */ //实体类 只负责装载数据 public class BlackNumber { private long

java web开发(二) 接口开发

java web开发(一) 环境搭建讲解了如何搭建基础项目,如果你还没了解,可以先去看看!今天我们就来看看接口的开发,打算使用比较古老的或者说比较原始方法实现的接口. 一.数据库设计. 我打算做一个简单的学生信息管理系统,数据库名为students_manage,并且先设计一张学生表,表名为student. 1.打开Sqlyong工具,如果还没创建连接,可以点击新建,输入名称,点击确定即可, 2.然后在保存的连接中选择,刚刚新建的连接,只需要在密码输入框中输入,安装数据库时的设置的密码,点击连接

JSP学习笔记(二)

第五章 Javabean 5.1 Javabean简介 Javabeans就是符合某种特定的规范的Java类.使用Javabeans的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高了代码的维护性. - 是一个共有的类 - 属性是私有的 - 属性全部用get.set方法封装 - 包含无参的共有构造方法 5.2 Jsp动作 5.2.1 Jsp动作的概念 Jsp动作元素(action elements),动作元素为请求处理阶段提供信息.动作元素遵循XML元素的基本语法,有一个包含元素名的开始

【t4必须】DbHelper.ttinclude 【t4连接数据库获取表必须】

<#+//连接数据库配置public class config{ public static readonly string [email protected]"server=.;pwd=123;uid=sa;database=oademo;";public static readonly string DbDatabase="oademo";} public class DbHelper{ #region GetDbTables//获取数据库所有的表publ

Web项目设计与开发 ——————DBHelper测试

此次DBHelper测试共有三个文件. 一个是DBHelper的java文件,由于代码过多就不一一叙述. 另外两个为jsp文件,其一为index.jsp 代码为登录页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional

练习使用DBHelper(代替JDBC)

练习使用DBHelper代替JDBC来连接数据库和操作数据库.首先先建立实体类和功能类,JDBC不用建立,直接导入DBHelper包文件. 导入包文件之后如图. 而后在需要使用数据库的地方调用DBHelper中的方法. <body> <% String sql = "selec * from user where userID=? and password=?"; Object[] parms = new Object[] { request.getParameter

泛型连接数据库

这些天用泛型做了一个数据库的底层,自我感觉很方便,但是功能不是很完善,会继续考虑下去下面给大家分享一下代码 1数据库连接的帮助类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace DAL { public class DBHelper { /// <summar