JDBC数据库操作

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: JDBC:     创建SQL语句对象    Statement statement = (Statement) con.createStatement() ;     调用执行        statement.

JDBC:

    创建SQL语句对象    Statement statement = (Statement) con.createStatement() ;

    调用执行        statement.executeUpdate(sqlString);

    释放资源             statement.close();

  一 :  创建表的操作代码:

 1 package JDBC;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 
 7 import com.mysql.jdbc.Statement;
 8 
 9 public class Demo {
10     // 数据库地址
11     private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
12     // 用户名
13     private static String dbUserName="root";
14     // 密码
15     private static String dbPassword="root";
16     // 驱动名称
17     private static String jdbcName="com.mysql.jdbc.Driver";
18     
19     public static void main(String[] args) {
20         try {
21             Class.forName(jdbcName);
22             System.out.println("加载驱动成功!");
23         } catch (ClassNotFoundException e) {
24             // TODO Auto-generated catch block
25             e.printStackTrace();
26             System.out.println("加载驱动失败!");
27         }
28         Connection con=null;
29         try {
30             // 获取数据库连接
31             con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
32             System.out.println("获取数据库连接成功!");
33             System.out.println("进行数据库操作!");
34             // 创建sql语句
35             String sqlString =  "CREATE TABLE t_student(id BIGINT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT)";
36             // 创建语句对象
37             Statement statement = (Statement) con.createStatement() ;
38             // 执行sql语句
39             statement.executeUpdate(sqlString);
40             statement.close();
41         } catch (SQLException e) {
42             // TODO Auto-generated catch block
43             e.printStackTrace();
44         }finally{
45             try {
46                 con.close();
47             } catch (SQLException e) {
48                 // TODO Auto-generated catch block
49                 e.printStackTrace();
50             }
51         }
52     }
53     
54 }

 

 

二 : 处理异常和关闭资源(对上部分代码优化)

 1 package JDBC;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 
 7 import com.mysql.jdbc.Statement;
 8 
 9 public class Demo {
10     // 数据库地址
11     private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
12     // 用户名
13     private static String dbUserName="root";
14     // 密码
15     private static String dbPassword="root";
16     
17     public static void main(String[] args) {
18         Connection con=null;
19         Statement statement = null ;
20         try {
21             // 获取数据库连接
22             con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
23             System.out.println("获取数据库连接成功!");
24             System.out.println("进行数据库操作!");
25             // 创建sql语句
26             String sqlString =  "CREATE TABLE t_student(id BIGINT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT)";
27             // 创建语句对象
28             statement = (Statement) con.createStatement() ;
29             // 执行sql语句
30             statement.executeUpdate(sqlString);
31         } catch (SQLException e) {
32             // TODO Auto-generated catch block
33             e.printStackTrace();
34         }finally{
35             try {
36                 con.close();
37                 statement.close();
38             } catch (SQLException e) {
39                 // TODO Auto-generated catch block
40                 e.printStackTrace();
41             }
42         }
43     }
44     
45 }

三 : DML操作

  操作与上述常见表相同,只需修改SQL语句

四 : 查询操作

  

 1 package JDBC;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.SQLException;
 6 
 7 import com.mysql.jdbc.ResultSet;
 8 import com.mysql.jdbc.Statement;
 9 
10 public class Demo {
11     // 数据库地址
12     private static String dbUrl="jdbc:mysql://localhost:3306/JavaJDBC";
13     // 用户名
14     private static String dbUserName="root";
15     // 密码
16     private static String dbPassword="root";
17     
18     public static void main(String[] args) throws ClassNotFoundException {
19         Class.forName("com.mysql.jdbc.Driver") ;
20         Connection con=null;
21         Statement statement = null ;
22         try {
23             // 获取数据库连接
24             con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
25             System.out.println("获取数据库连接成功!");
26             System.out.println("进行数据库操作!");
27             // 创建sql语句
28             String sqlString =  "select * from t_student";
29             // 创建语句对象
30             statement = (Statement) con.createStatement() ;
31             // 执行sql语句
32             ResultSet resultSet = (ResultSet) statement.executeQuery(sqlString);
33             // 取出查询结果
34             while(resultSet.next()){
35                 long id = resultSet.getLong("id") ;
36                 String nameString = resultSet.getString("name") ;
37                 long age = resultSet.getLong("age") ;
38                 System.out.println(id + " " + nameString + " " + age);
39             }
40         } catch (SQLException e) {
41             // TODO Auto-generated catch block
42             e.printStackTrace();
43         }finally{
44             try {
45                 con.close();
46                 statement.close();
47             } catch (SQLException e) {
48                 // TODO Auto-generated catch block
49                 e.printStackTrace();
50             }
51         }
52     }
53     
54 }

核心代码:

            // 执行sql语句
            ResultSet resultSet = (ResultSet) statement.executeQuery(sqlString);
            // 取出查询结果
            while(resultSet.next()){
                long id = resultSet.getLong("id") ;
                String nameString = resultSet.getString("name") ;
                long age = resultSet.getLong("age") ;
                System.out.println(id + " " + nameString + " " + age);
            }

  解释:   executeQuery返回一个ResultSet,是对应的表,开始指向第一行,也就是每一列的名称,此处为id,name,age,然后通过next()将光标下移,通过getLong(String 列名称)取出 或 getLong(Long 列号)取出(从1开始).

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
3月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
330 2
|
Java 关系型数据库 数据库连接
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
153 8
|
Java 数据库连接 API
JDBC:Java数据库连接的“黑科技”大揭秘
JDBC:Java数据库连接的“黑科技”大揭秘
107 7
|
10月前
|
SQL Java 数据库连接
【YashanDB数据库】由于网络带宽不足导致的jdbc向yashandb插入数据慢
由于网络带宽不足导致的jdbc向yashandb插入数据慢
|
12月前
|
SQL Java 关系型数据库
使用 JDBC 实现 Java 数据库操作
JDBC(Java Database Connectivity)是 Java 提供的数据库访问技术,允许通过 SQL 语句与数据库交互。本文详细介绍了 JDBC 的使用方法,包括环境准备、编程步骤和完整示例。
1072 7
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
Java 数据库连接 网络安全
JDBC数据库编程(java实训报告)
这篇文章是关于JDBC数据库编程的实训报告,涵盖了实验要求、实验环境、实验内容和总结。文中详细介绍了如何使用Java JDBC技术连接数据库,并进行增删改查等基本操作。实验内容包括建立数据库连接、查询、添加、删除和修改数据,每个部分都提供了相应的Java代码示例和操作测试结果截图。作者在总结中分享了在实验过程中遇到的问题和解决方案,以及对Java与数据库连接操作的掌握情况。
JDBC数据库编程(java实训报告)
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
208 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
618 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)

热门文章

最新文章