JDBC插入数据实例
在本教程将演示如何在JDBC应用程序中向数据库的一个表中插入数据记录。 在执行以下示例之前,请确保您已经准备好以下操作:
- 具有数据库管理员权限,以在给定模式中数据库表中插入数据记录。 要执行以下示例,需要用实际用户名和密码替换这里用户名(
username)和密码(password)。 - MySQL或数据库已启动并运行。
所需步骤
使用JDBC应用程序向表中插入数据记录需要以下步骤:
导入包:需要包含包含数据库编程所需的JDBC类的包。 大多数情况下,使用
import java.sql.*就足够了。注册JDBC驱动程序:需要初始化驱动程序,以便可以程序中打开数据库的通信通道。
打开连接:需要使用
DriverManager.getConnection()方法来创建一个Connection对象,它表示与数据库服务器的物理连接。执行查询:需要使用类型为
Statement的对象来构建和提交SQL语句,以在选择的数据库的表中插入数据记录。清理环境:需要明确地关闭所有数据库资源,而不依赖于JVM的垃圾收集。
示例代码
复制以下示例代码保存到文件:InsertRecords.java中,然后编译并运行如下 -
//STEP 1. Import required packages
// See more detail at http://www.yiibai.com/jdbc/
import java.sql.*;
public class InsertRecords {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/jdbc_db";
// Database credentials
static final String USER = "root";
static final String PASS = "123456";
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 a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected database successfully...");
//STEP 4: Execute a query
System.out.println("Inserting records into the table...");
stmt = conn.createStatement();
String sql = "INSERT INTO student " +
"VALUES (100, 'C++', 'Li', 18)";
stmt.executeUpdate(sql);
sql = "INSERT INTO student " +
"VALUES (101, 'Python', 'Py', 25)";
stmt.executeUpdate(sql);
sql = "INSERT INTO student " +
"VALUES (102, 'Ruby', 'Ru', 30)";
stmt.executeUpdate(sql);
sql = "INSERT INTO student " +
"VALUES(103, 'Java', 'Ja', 28)";
stmt.executeUpdate(sql);
System.out.println("Inserted records into the table...");
}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)
conn.close();
}catch(SQLException se){
}// do nothing
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end JDBCExample
编译上面代码,如下 -
F:\worksp\jdbc> javac -Djava.ext.dirs=F:\worksp\jdbc\libs InsertRecords.java
执行上面代码,如下 -
## 可先创建表 -
## F:\worksp\jdbc> java -Djava.ext.dirs=F:\worksp\jdbc\libs CreateTable
F:\worksp\jdbc>java -Djava.ext.dirs=F:\worksp\jdbc\libs InsertRecords
Connecting to a selected database...
Thu Jun 01 22:51:41 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Connected database successfully...
Inserting records into the table...
Inserted records into the table...
Goodbye!
F:\worksp\jdbc>
在执行上面语句后,查询 student 表中的数据如下 -
mysql> select * from student;
+-----+--------+------+-----+
| id | first | last | age |
+-----+--------+------+-----+
| 100 | C++ | Li | 18 |
| 101 | Python | Py | 25 |
| 102 | Ruby | Ru | 30 |
| 103 | Java | Ja | 28 |
+-----+--------+------+-----+
4 rows in set
mysql>
JDBC插入数据实例的更多相关文章
- JDBC插入数据时中文变为问号的解决方法
JDBC插入数据时中文变为问号的解决方法 制作人:全心全意 出现中文变问号的代码: String url = "jdbc:mysql://localhost:3306/test"; ...
- JDBC插入数据超长时无法自动截断问题
问题 JDBC操作MySQL数据库,当进行插入或更新操作的数据长度超过表字段的声明最大长度时,会报出以下错误,导致不能正常插入: 但是当直接在MySQL客户端操作时,发现确实可以的,只不过会自动对插入 ...
- JDBC排序数据实例
在本教程将演示如何在JDBC应用程序中,从数据库表中查询数据记录,在查询语句中将使用asc和desc关键字按升序或降序对记录进行排序.在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员 ...
- JDBC删除数据实例
在本教程将演示如何在JDBC应用程序中,删除数据库表中数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式的数据库表中删除数据记录. 要执行以下示例,需要用 ...
- JDBC查询数据实例
在本教程将演示如何在JDBC应用程序中,查询数据库的一个表中数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中数据库表中查询数据记录. 要执行以下示例, ...
- JDBC更新数据实例
在本教程将演示如何在JDBC应用程序中,更新数据库的一个表中数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式的数据库表中更新数据记录. 要执行以下示例, ...
- Spring JDBC插入数据
以下示例将展示如何使用Spring jdbc进行插入查询.将向student表中插入几条记录. 语法: String insertQuery = "insert into student ( ...
- 使用JDBC插入数据到ORACLE,使用标识列自增列
不同于SQL Server的是,Oracle中插入数据的时候,没有自增列或者是标识列,但是,我们又不想显式的进行主键的插入,这里,必须在Oracle数据库中指定一个标识列,或者说是一个序列.具体方法如 ...
- xorm插入数据实例
package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/ ...
随机推荐
- angular内置过滤器-filter
这篇文章来讲解一下angular内置的filter过滤器. 没错,这个过滤器的名字,就叫'filter',虽然自定义过滤器也是使用module.filter()...但是不要混淆了,这个filter就 ...
- 每日英语:Proactive Advice for Dealing With Grief: Seek Out New Experiences
When her husband died of cancer 10 years ago, Becky Aikman says she experienced grief and adapted to ...
- 【嵌入式】FS2410非操作系统外围资源测试
在刚接触FS2410时,其实这个测试也没有多大意义,但是对于以后来说,当一个产品做成功时,产品测试还是一个必须经过的一个阶段,所以这个流程还是有必要走一下! 在非操作系统下,主要进行RTC测试,按键测 ...
- ParseUrl
#!/usr/bin/python # coding:utf-8 import re import urlparse # 解析url def ParseUrl(url): if not re.sear ...
- 知道创宇研发技能表v2.1
创建时间:2012/12/1 2013/4/26 公开发布 2013/7/15 新增:牛人1,2,3 2013/7/20 优化:成长,增加:小事心态.任务拆分.方法论 2013/8/12 更新:Web ...
- Scapy:局域网MAC地址扫描脚本
转载自:http://blog.sina.com.cn/s/blog_4b5039210100gn6k.html 未测试,回头研究研究. 用python+scapy写的,只要双击.py文件即可,扫描当 ...
- 1. 感知机原理(Perceptron)
1. 感知机原理(Perceptron) 2. 感知机(Perceptron)基本形式和对偶形式实现 3. 支持向量机(SVM)拉格朗日对偶性(KKT) 4. 支持向量机(SVM)原理 5. 支持向量 ...
- 本质矩阵E求解及运动状态恢复
为了获取本质矩阵,首先计算基础矩阵F.根据本质矩阵E,即可恢复得到运动的状态R和T. 由可以根据匹配点得到F,然后根据和相机内参,即可得到本质矩阵E.进而根据: 注意:根据摄像机模型t=-RT,恢复运 ...
- 解决Eclipse异常关闭后重启报 org.eclipse.swt.SWTException: Invalid thread access 的问题
. . . . . 很久没有写博客了,最近实在是太忙,一直想写点干货,但是一直没静下心来学习. 今天又在加班忙碌之中,结果谁知道越忙碌越出问题.先是 weblogic 没有正常启动,凭经验第一反应就是 ...
- AutoLayout——何为intrinsic content size
上一篇说到了约束就是等式和不等式.仅仅知道其原理还是没法拉出符合需求的线.所以这一篇主要看来什么是intrinsic content size,以及它有什么用. 在Xcode中,差点儿全部控件或视图, ...