• JDBC实例代码


    以下内容引用自http://wiki.jikexueyuan.com/project/jdbc/sample-code.html

    前提:

    1、在MySQL中创建数据表和增加模拟数据:

    DROP TABLE IF EXISTS `employees`;
    CREATE TABLE IF NOT EXISTS `employees` (
      `id` int(11) NOT NULL,
      `age` int(11) NOT NULL,
      `first` varchar(255) DEFAULT NULL,
      `last` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali');
    INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma');
    INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan');
    INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal');

    注意:表的类型应为InnoDB。

    2、项目中增加MySQL的jar包,POM的依赖如下:

            <!-- mysql-connector-java -->
            <!-- http://mvnrepository.com/artifact/mysql/mysql-connector-java -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>6.0.6</version>
            </dependency>    

    提示:如果出现无法使用存储过程的问题,可以降级到5.1.38,参考:http://www.cnblogs.com/EasonJim/p/6909873.html

    示例:

    1、创建JDBC应用程序

    构建一个JDBC应用程序包括以下六个步骤:

    • 导入数据包:需要导入含有需要进行数据库编程的JDBC类的包。大多数情况下,使用import java.sql.就足够了。

    • 注册JDBC驱动器:需要初始化一个驱动器,以便于打开一个与数据库的通信通道。

    • 打开连接:需要使用DriverManager.getConnection()方法创建一个Connection对象,它代表与数据库的物理连接。

    • 执行查询:需要使用类型声明的对象建立并提交一个SQL语句到数据库。

    • 提取结果数据:要求使用适当的ResultSet.getXXX()方法从结果集中检索数据。

    • 清理环境:依靠JVM的垃圾收集来关闭所有需要明确关闭的数据库资源。

    1、示例代码

    //STEP 1. Import required packages
    import java.sql.*;
    
    public class FirstExample {
        // JDBC driver name and database URL
        static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
        static final String DB_URL = "jdbc:mysql://localhost/Test?serverTimezone=UTC";
    
        // Database credentials
        static final String USER = "root";
        static final String PASS = "root";
    
        public static void main(String[] args) {
            Connection conn = null;
            Statement stmt = null;
            try {
                // STEP 2: Register JDBC driver
                Class.forName("com.mysql.jdbc.Driver");
    
                // STEP 3: Open a connection
                System.out.println("Connecting to database...");
                conn = DriverManager.getConnection(DB_URL, USER, PASS);
    
                // STEP 4: Execute a query
                System.out.println("Creating statement...");
                stmt = conn.createStatement();
                String sql;
                sql = "SELECT id, first, last, age FROM Employees";
                ResultSet rs = stmt.executeQuery(sql);
    
                // STEP 5: Extract data from result set
                while (rs.next()) {
                    // Retrieve by column name
                    int id = rs.getInt("id");
                    int age = rs.getInt("age");
                    String first = rs.getString("first");
                    String last = rs.getString("last");
    
                    // Display values
                    System.out.print("ID: " + id);
                    System.out.print(", Age: " + age);
                    System.out.print(", First: " + first);
                    System.out.println(", Last: " + last);
                }
                // STEP 6: Clean-up environment
                rs.close();
                stmt.close();
                conn.close();
            } catch (SQLException se) {
                // Handle errors for JDBC
                se.printStackTrace();
            } catch (Exception e) {
                // Handle errors for Class.forName
                e.printStackTrace();
            } finally {
                // finally block used to close resources
                try {
                    if (stmt != null)
                        stmt.close();
                } catch (SQLException se2) {
                } // nothing we can do
                try {
                    if (conn != null)
                        conn.close();
                } catch (SQLException se) {
                    se.printStackTrace();
                } // end finally try
            } // end try
            System.out.println("Goodbye!");
        }// end main
    }// end FirstExample

    这将产生如下所示结果:

     测试工程:https://github.com/easonjim/5_java_example/tree/master/jdbcbasics/test1

  • 相关阅读:
    elasticsearch之python操作
    Elasticsearch之性能优化
    Elasticsearch之基本使用
    Redis主从哨兵集群搭建
    Docker Swarm集群
    Elasticsearch之权限验证(Basic)
    docker之网络与数据管理
    docker之可视化工具
    基于Github gist的代码片段管理工具Lepton
    Redis工具之redis_rdb_tools
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6993364.html
Copyright © 2020-2023  润新知