⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 databaseoperation.java

📁 《Java2程序设计实用教程(第2版)》课件
💻 JAVA
字号:
//【例11.2】  连接指定数据库并获得数据库属性信息。
//【例11.3】  执行数据操纵的SQL语句。
//  数据库操作类

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

public class DataBaseOperation
{
    private Connection connection;                         //数据库连接对象 

        //构造方法,连接指定数据库。4个参数分别指定JDBC驱动程序、数据库URL、用户名和口令
    public DataBaseOperation(String driver,String url, String user, String password)
        throws ClassNotFoundException,SQLException
    {
        this.connection = null;
        Class.forName(driver);                             //指定JDBC驱动程序
        this.connection = DriverManager.getConnection(url,user,password); //返回数据库连接对象
    }

    public DataBaseOperation(String driver, String url) throws ClassNotFoundException,SQLException
    {
        this.connection = null;
        Class.forName(driver);
        this.connection = DriverManager.getConnection(url);
    }

    public void finalize() throws SQLException             //析构方法,关闭数据库连接
    {
        this.connection.close();
    }

    public String getDBAbout() throws SQLException         //获得所连接数据库的属性信息,返回字符串
    {
        String message = "";
        DatabaseMetaData dbmd = this.connection.getMetaData();
        message = "JDBC驱动程序:" + dbmd.getDriverName() +" "+ dbmd.getDriverVersion() + "\r\n" +
                  "JDBC URL:" + dbmd.getURL() + "\r\n" +
                  "数据库:" + dbmd.getDatabaseProductName() + "\r\n" +
                  "数据库版本:" + dbmd.getDatabaseProductVersion() + "\r\n"+
                  "用户名:" + dbmd.getUserName() + "\r\n";
        return message;
    }

//【例11.3】  执行数据操纵的SQL语句。

        //执行数据更新的SQL语句,包括INSERT、UPDATE、DELETE语句
        //参数sql指定一条数据更新的SQL语句,执行成功返回所影响的行数,否则返回0
    public int dataUpdate(String sql) throws SQLException
    {
        Statement statement = this.connection.createStatement(); 
        int result = statement.executeUpdate(sql);
        statement.close();
        return result;
    }

        //执行数据查询的SELECT语句,参数sql指定一条SELECT语句,执行成功显示结果集中的数据
    public void select(String sql) throws SQLException
    {
        Statement statement = this.connection.createStatement();
        ResultSet resultset = statement.executeQuery(sql);       //执行数据查询SELECT语句
        ResultSetMetaData rsmd = resultset.getMetaData();        //返回元数据对象
        int columnCount = rsmd.getColumnCount();                 //获得列数
        for(int j=1;j<=columnCount;j++)
            System.out.print(rsmd.getColumnLabel(j)+"  ");       //获得列名
        System.out.println();
           
        while(resultset.next())                                  //从前向后访问每行
        {
            for(int j=1;j<=columnCount;j++)                      //获得每列值
                System.out.print(resultset.getString(j)+"  ");   //获得当前行指定列的值
            System.out.println();
        }
        resultset.close();
        statement.close();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -