Java笔记-使用达梦(DM)数据库接口对表进行增删改查

目录

 

 

基本概念

代码与演示


 

基本概念

其实厂家已经提供了资料和代码,但感觉不如自己总结得爽,也直接。下面给出的全是干货。

首先是SQL语言,达梦是没有use XXX这种的,如果要检索某个表,直接这样操作:

select * from xxx.xxx.xxx

这种,举个截图:

Java笔记-使用达梦(DM)数据库接口对表进行增删改查_第1张图片

同样,DESC ,delete ,update,这些也是一样的。

 

代码与演示

以IDEA为例:File->Project Structure...

Java笔记-使用达梦(DM)数据库接口对表进行增删改查_第2张图片

把dm的jdbc添加进去即可:

Java笔记-使用达梦(DM)数据库接口对表进行增删改查_第3张图片

代码如下:

import java.sql.*;

public class Main {


    private static void displayResultSet(ResultSet rs) throws SQLException {

    // 取得结果集元数据
        ResultSetMetaData rsmd = rs.getMetaData();
    // 取得结果集所包含的列数
        int numCols = rsmd.getColumnCount();
        //列头
        for (int i = 1; i <= numCols; i++) {
            if (i > 1) {
                System.out.print(",");
            }
            System.out.print(rsmd.getColumnLabel(i));
        }
        System.out.println("");

        //所有数据
        while (rs.next()) {
            for (int i = 1; i <= numCols; i++) {
                if (i > 1) {
                    System.out.print(",");
                }
                    // 普通字段
                    System.out.print(rs.getString(i));
            }
            System.out.println("");
        }
    }

    static void printfResult(Connection connection, String sqlStr) throws SQLException {

        String queryStr = sqlStr;
        Statement stmt= connection.createStatement();
        ResultSet rs = stmt.executeQuery(queryStr);
        displayResultSet(rs);
        stmt.close();
    }

    public static void main(String[] args) throws ClassNotFoundException, SQLException {

        String jdbcString = "dm.jdbc.driver.DmDriver";
        String urlString = "jdbc:dm://XXX.XXX.XXX.XXX:12345";

        String userName = "XXX";
        String passWord = "XXX";
        Connection connection = null;

        Class.forName(jdbcString);

        //连接
         connection = DriverManager.getConnection(urlString, userName, passWord);

         //查询
        /*
        1. 创建语句对象;
        2. 执行查询;
        3. 显示结果集;
        4. 关闭结果集;
        5. 关闭语句对象。
         */

        System.out.println("---------------- 查 询 开 始 ----------------");
        String queryStr = "select * from XXX.XXX.XXX";
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery(queryStr);
        displayResultSet(rs);

        rs.close();
        stmt.close();

        System.out.println("---------------- 查 询 结 束 ----------------\n");




        /*
        * 1. 构造插入数据库语句;
        * 2. 创建语句对象;
        * 3. 为参数赋值;
        * 4. 执行语句;
        * 5. 关闭语句。
        * */
        System.out.println("---------------- 增 加 开 始 ----------------\n");
        String insertStr = "INSERT INTO XXX.XXX.XXX(XXX,XXX,XXX) " +
                "VALUES(?,?,?)";
        PreparedStatement pstmt = connection.prepareStatement(insertStr);
        pstmt.setLong(1, 666666666);
        pstmt.setString(2, "呵呵哒");
        pstmt.setInt(3, 36895);

        pstmt.executeUpdate();
        pstmt.close();


        printfResult(connection, "select * from XXX.XXX.XXX");

        System.out.println("---------------- 增 加 结 束 ----------------\n");


        /*
         *
         * 1. 构建更新语句;
         * 2. 创建语句对象;
         * 3. 为参数赋值;
         * 4. 执行语句;
         * 5. 关闭语句。
         * */

        System.out.println("---------------- 修 改 开 始 ----------------\n");

        String updateStr = "UPDATE XXX.XXX.XXX SET name = ? where id = 666666666";
        PreparedStatement pstmtUpdate = connection.prepareStatement(updateStr);
        pstmtUpdate.setString(1,"呵呵呵呵呵呵");
        pstmtUpdate.executeUpdate();
        pstmtUpdate.close();
        printfResult(connection, "select * from EMS.EMS.ACLINE");

        System.out.println("---------------- 修 改 结 束 ----------------\n");


        /*
        * 1. 删除数据语句;
        * 2. 创建对象语言;
        * 3. 执行语句;
        * 4. 关闭语句。
        *
        * */

        System.out.println("---------------- 删 除 开 始 ----------------\n");

        String deleteStr = "delete from XXX.XXX.XXX where id = 666666666";
        Statement deleteSm = connection.createStatement();
        deleteSm.execute(deleteStr);
        deleteSm.close();

        printfResult(connection, "select * from XXX.XXX.XXX");

        System.out.println("---------------- 删 除 结 束 ----------------\n");


         //关闭连接
        connection.close();

        System.out.println("Running over!");
    }
}

程序运行截图就不放了。

 

你可能感兴趣的:(Java,SQL)