java 访问数据库实例

(1) 数据库java类。

package com.kettas.servlet;

import java.sql.*;

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


/**
 * 数据库连接及操作类
 *
 * @author LHDSZZDF
 *
 */
public class ConnDB {
    public Connection conn = null;// 数据库连接对象
    public Statement stmt = null;// Statement对象,用于执行SQL语句
    public ResultSet rs = null;// 结果集对象
    // 驱动类的类名
    private static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    private static String dbUrl = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_shop";
    private static String dbUser = "sa";// 登录SQL Server的用户名
    private static String dbPwd = "zzdfwf";// 登录SQL Server的密码

    public static String dataBaseName = "aaaa";
    public static String name = "root";
    
    
    public static String pwd = "passw0rd@123";

    /**
     * 功能:创建与数据库的连接
     *
     * @return
     */
    public static Connection getConnection()
    {
        Connection connDemo = null;// 声明数据库连接对象
        
        try {
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
            connDemo = DriverManager.getConnection("jdbc:mysql://localhost/"+dataBaseName, name, pwd);
        }
        catch (Exception e)
        {
            System.out.println("connection error" + e.getMessage());
        }
        
        
        return connDemo;// 返回数据库连接对象
    }

    /**
     * 功能:更新数据
     *
     * @param sql
     * @return
     */
    public int executeUpdate(String sql) {
        int result = 0;// 更新数据的记录条数
        try {// 捕捉异常
            conn = getConnection();// 获取数据库连接
            // 创建用于执行SQL语句的Statement对象
            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            result = stmt.executeUpdate(sql);// 执行SQL语句
        } catch (SQLException e) {// 处理异常
            result = 0;// 指定更新的记录条数为0,表示没有更新数据
            e.printStackTrace();// 输出异常信息
        }
        try {// 捕捉异常
            stmt.close();// 关闭用于执行SQL语句的Statement对象
        } catch (SQLException e) {// 处理异常
            e.printStackTrace();// 输出异常信息
        }
        return result;// 返回更新数据的记录条数
    }

    /**
     * 功能:根据指定的SQL语句查询数据
     *
     * @param sql
     * @return
     */
    public ResultSet executeQuery(String sql)
    {
        try
        {// 捕捉异常
            conn = getConnection();// 获取数据库连接
            // 创建用于执行SQL语句的Statement对象
            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            
            rs = stmt.executeQuery(sql);// 执行SQL语句
        } catch (SQLException e) {// 处理异常
            e.printStackTrace();// 输出异常信息
        }
        return rs;// 返回查询结果
    }

    /**
     * 功能:关闭数据库连接
     */
    public void close() {
        try {// 捕捉异常
            if (rs != null) {
                rs.close();// 关闭结果集对象
            }
            if (stmt != null) {
                stmt.close();// 关闭Statement对象
            }
            if (conn != null) {
                conn.close();// 关闭数据库连接对象
            }
        } catch (Exception e) {
            e.printStackTrace();// 输出异常信息

        }
    }

    /**
     * 功能:测试数据库连接是否成功
     *
     * @param args
     */
    public static void main(String[] args) {
        if (getConnection() != null) {// 如果获取到数据库连接
            System.out.println("数据库连接成功");
        }
    }

    /**
     * 功能:更新数据后获取生成的自动编号
     *
     * @param sql
     * @return
     */
    public int executeUpdate_id(String sql) {
        int result = 0;
        try {// 捕捉异常
            conn = getConnection();// 获取数据库连接
            // 创建用于执行SQL语句的Statement对象
            Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            result = stmt.executeUpdate(sql);// 执行SQL语句
            String ID = "select @@IDENTITY as id";// 定义用于获取刚刚生成的自动编号的SQL语句
            rs = stmt.executeQuery(ID);// 获取刚刚生成的自动编号
            if (rs.next()) {// 如果存在数据
                int autoID = rs.getInt("id");// 把获取到的自动编号保存到变量autoID中
                result = autoID;
            }
        } catch (SQLException e) {// 处理异常
            result = 0;
        }
        return result;// 返回获取结果
    }

}

(2) 调用实例
      private ConnDB conn = new ConnDB();// 创建数据库连接类的对象
      String sqlString = "";  
      ResultSet rs = null;
      rs = conn.executeQuery(sqlString);// 执行查询操作

猜你喜欢

转载自blog.csdn.net/qq_14874791/article/details/106992194