JDBC数据库操作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 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开始).

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
Java 关系型数据库 数据库连接
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
56 8
|
5月前
|
Java 数据库连接 API
JDBC:Java数据库连接的“黑科技”大揭秘
JDBC:Java数据库连接的“黑科技”大揭秘
44 7
|
21天前
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
3月前
|
SQL Java 数据库
Springboot+spring-boot-starter-data-jdbc实现数据库的操作
本文介绍了如何使用Spring Boot的spring-boot-starter-data-jdbc依赖来操作数据库,包括添加依赖、配置数据库信息和编写基于JdbcTemplate的数据访问代码。
345 2
|
3月前
|
SQL druid Java
JDBC和数据库连接池-两个工具类-JDBCUtilsByDruid和BasicDAO
JDBC和数据库连接池-两个工具类-JDBCUtilsByDruid和BasicDAO
151 0
|
5月前
|
Java 数据库连接 网络安全
JDBC数据库编程(java实训报告)
这篇文章是关于JDBC数据库编程的实训报告,涵盖了实验要求、实验环境、实验内容和总结。文中详细介绍了如何使用Java JDBC技术连接数据库,并进行增删改查等基本操作。实验内容包括建立数据库连接、查询、添加、删除和修改数据,每个部分都提供了相应的Java代码示例和操作测试结果截图。作者在总结中分享了在实验过程中遇到的问题和解决方案,以及对Java与数据库连接操作的掌握情况。
JDBC数据库编程(java实训报告)
|
5月前
|
SQL Java 数据库连接
JDBC之旅:从陌生到熟悉的Java数据库连接之路
JDBC之旅:从陌生到熟悉的Java数据库连接之路
40 9
|
5月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
71 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
5月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
237 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
5月前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
Java开发者必知:JDBC连接数据库的“三大法宝”
55 7

热门文章

最新文章