zoukankan      html  css  js  c++  java
  • 连接数据库,创建表,插入数据,更新数据

    连接数据库,创建表,插入数据,更新数据Demo

    package com.huawei.demo;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.sql.Statement;
    /**
      * DBtest.java
      * 演示基于JDBC开发的主要步骤,会涉及创建数据库、创建表、插入数据等
      */
    class ExitHandler extends Thread {
        private Statement cancel_stmt = null;
    
        public ExitHandler(Statement stmt) {
            super("Exit Handler");
            this.cancel_stmt = stmt;
        }
        public void run() {
            System.out.println("exit handle");
            try {
                if (this.cancel_stmt != null&&!this.cancel_stmt.isClosed()){
                    this.cancel_stmt.cancel();
                }
            } catch (SQLException e) {
                System.out.println("cancel query failed.");
                e.printStackTrace();
            }
        }
    }
    
    public class OLTPConnectDemo {
      //创建数据库连接。
      public static Connection GetConnection(String username, String passwd) {
        String driver = "com.huawei.gauss.jdbc.ZenithDriver";
        String sourceURL = "jdbc:zenith:@192.168.0.1:1888";
        Connection conn = null;
        try {
          //加载数据库驱动。
          Class.forName(driver).newInstance();
        } catch (Exception e) {
            System.out.println("query failed!!!");
          e.printStackTrace();
          return null;
        }
    
            /**
              * 创建数据库连接
              * getConnection(String url, String user, String password)
              */
        try {
          conn = DriverManager.getConnection(sourceURL,username,passwd);
          System.out.println("Connection succeed!");
        } catch (Exception e) {
          e.printStackTrace();
          return null;
        }
    
        return conn;
      };
    
      // 执行普通SQL语句,创建jdbc_test1表。
      public static void CreateTable(Connection conn) {
        Statement stmt = null;
        try {
          stmt = conn.createStatement();
          // add ctrl+c handler
          Runtime.getRuntime().addShutdownHook(new ExitHandler(stmt));
    
          // 执行普通SQL语句。
          int rc = stmt.executeUpdate("CREATE TABLE IF NOT EXISTS jdbc_test1(col1 INTEGER,col2 VARCHAR(10))");
          System.out.println("CREATE TABLE succeed!");
          stmt.close();
        } catch (SQLException e) {
          if (stmt != null) {
            try {
              stmt.close();
            } catch (SQLException e1) {
              e1.printStackTrace();
            }
          }
          e.printStackTrace();
        }
      }
    
      // 执行预处理语句,批量插入数据。
      public static void BatchInsertData(Connection conn) {
        PreparedStatement pst = null;
        try {
          // 生成预处理语句。
          pst = conn.prepareStatement("INSERT INTO jdbc_test1 VALUES (?,?)");
          for (int i = 0; i < 3; i++) {
            // 添加参数。
            pst.setInt(1, i);
            pst.setString(2, "data " + i);
            pst.addBatch();
          }
          //执行批处理。
          pst.executeBatch();
          System.out.println("INSERT INTO succeed!");
          pst.close();
        } catch (SQLException e) {
          if (pst != null) {
            try {
              pst.close();
            } catch (SQLException e1) {
            e1.printStackTrace();
            }
          }
          e.printStackTrace();
        }
      }
    
      //执行预编译语句,更新数据。
      public static void ExecPreparedSQL(Connection conn) {
        PreparedStatement pstmt = null;
        try {
          pstmt = conn
              .prepareStatement("UPDATE jdbc_test1 SET col2 = ? WHERE col1 = 1");
          pstmt.setString(1, "new Data");
          int rowcount = pstmt.executeUpdate();
          
          System.out.println("UPDATE succeed!");
          pstmt.close();
        } catch (SQLException e) {
          if (pstmt != null) {
            try {
              pstmt.close();
            } catch (SQLException e1) {
              e1.printStackTrace();
            }
          }
          e.printStackTrace();
        }
      }
    
      /**
       * 主程序,逐步调用各静态方法。
       * @param args
      */
      public static void main(String[] args) {
        String userName = "omm";
        String password = "gaussdb_123";
        // 创建数据库连接。
        Connection conn = GetConnection(userName, password);
    
        // 创建表。
        CreateTable(conn);
    
        // 批插数据。
        BatchInsertData(conn);
    
        // 执行预编译语句,更新数据。
        ExecPreparedSQL(conn);
    
        // 关闭数据库连接。
        try {
          conn.close();
        } catch (SQLException e) {
          e.printStackTrace();
        }
      }
    }
    做自己的太阳,成为别人的光!
  • 相关阅读:
    User Get 'Access Denied' with Excel Service WebPart
    How To Search and Restore files from Site Collection Recycle Bin
    How To Collect ULS Log from SharePoint Farm
    How To Restart timer service on all servers in farm
    How to Operate SharePoint User Alerts with PowerShell
    How to get Timer Job History
    Synchronization Service Manager
    SharePoint 2007 Full Text Searching PowerShell and CS file content with SharePoint Search
    0x80040E14 Caused by Max Url Length bug
    SharePoint 2007 User Re-created in AD with new SID issue on MySite
  • 原文地址:https://www.cnblogs.com/botaoli/p/12564760.html
Copyright © 2011-2022 走看看