博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC实例代码
阅读量:7110 次
发布时间:2019-06-28

本文共 3606 字,大约阅读时间需要 12 分钟。

以下内容引用自:

前提:

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
mysql-connector-java
6.0.6

提示:如果出现无法使用存储过程的问题,可以降级到5.1.38,参考:

示例:

1、创建JDBC应用程序

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

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

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

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

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

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

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

1、示例代码

//STEP 1. Import required packagesimport 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

转载地址:http://dtghl.baihongyu.com/

你可能感兴趣的文章
【树莓派】树莓派上刷android系统
查看>>
J2EE之Servlet初见
查看>>
elasticsearch best_fields most_fields cross_fields从内在实现看区别——本质就是前两者是以field为中心,后者是词条为中心...
查看>>
JPA(一):简介
查看>>
git 的安装和使用
查看>>
(转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU
查看>>
Controller 接口控制器详解
查看>>
【转】【MySQL】mysql 通过bin-log恢复数据方法详解
查看>>
linux上安装启动elasticsearch-5.5.1完整步骤
查看>>
请求失败或服务未及时响应。有关详细信息,请参见事件日志或其他适用的错误日志...
查看>>
Silverlight 4 MVVM开发方式(一)小黑端
查看>>
公告:CSDN博客频道新功能正式上线!
查看>>
Web服务的体系架构
查看>>
linux下apache的使用
查看>>
UML对象图(转载)
查看>>
Computer skills one can learn within one day
查看>>
关于删除MySQL Logs的一点记录
查看>>
[cb]Unity 项目架构
查看>>
spin_lock & mutex_lock的区别?
查看>>
居安思危,奋发图强,别整那些没用的
查看>>