当前位置: 首页 > news >正文

商务网站专题页巩义网站推广优化

商务网站专题页,巩义网站推广优化,国内免费云主机,代做cad平面图的网站JDBC插入记录语法及案例 一、JDBC插入记录语法 在JDBC中,插入记录主要通过执行SQL的INSERT语句来实现。其基本语法如下: INSERT INTO 表名 (列1, 列2, ..., 列n) VALUES (值1, 值2, ..., 值n);表名:需要插入记录的表的名称。列1, 列2, …,…

JDBC插入记录语法及案例

一、JDBC插入记录语法

在JDBC中,插入记录主要通过执行SQL的INSERT语句来实现。其基本语法如下:

INSERT INTO 表名 (1,2, ..., 列n) VALUES (1,2, ..., 值n);
  • 表名:需要插入记录的表的名称。
  • 列1, 列2, …, 列n:指定要插入数据的列名。如果插入的数据包含表中所有列的值,并且顺序与表中列的顺序一致,那么列名可以省略。
  • 值1, 值2, …, 值n:对应于各列要插入的具体值。数据类型需要与列的数据类型相匹配。

二、案例代码

以下是一个使用JDBC插入记录的Java案例代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;public class JdbcInsertExample {public static void main(String[] args) {// 数据库连接信息String url = "jdbc:mysql://localhost:3306/testdb";  // 数据库URL,testdb为数据库名String username = "root";  // 数据库用户名String password = "123456";  // 数据库密码// 要插入的数据String name = "张三";int age = 25;String email = "zhangsan@example.com";// SQL插入语句String sql = "INSERT INTO users (name, age, email) VALUES (?, ?, ?)";// 加载数据库驱动try {Class.forName("com.mysql.cj.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();System.out.println("数据库驱动加载失败!");return;}// 建立数据库连接try (Connection conn = DriverManager.getConnection(url, username, password);// 使用PreparedStatement来执行SQL语句,提高安全性和效率PreparedStatement pstmt = conn.prepareStatement(sql)) {// 设置SQL语句中的参数pstmt.setString(1, name);pstmt.setInt(2, age);pstmt.setString(3, email);// 执行插入操作int affectedRows = pstmt.executeUpdate();if (affectedRows > 0) {System.out.println("记录插入成功!");} else {System.out.println("记录插入失败!");}} catch (SQLException e) {e.printStackTrace();System.out.println("数据库操作异常!");}}
}

代码说明:

  1. 导入相关包:导入了java.sql包下的ConnectionDriverManagerPreparedStatementSQLException等类,这些是JDBC编程中常用的类。
  2. 数据库连接信息:定义了数据库的URL、用户名和密码,用于建立数据库连接。
  3. 要插入的数据:定义了要插入的用户信息,包括姓名、年龄和邮箱。
  4. SQL插入语句:定义了插入记录的SQL语句,使用了占位符?来代替具体的值,这是为了使用PreparedStatement来设置参数,提高安全性和效率。
  5. 加载数据库驱动:通过Class.forName方法加载MySQL的JDBC驱动,如果驱动加载失败会捕获异常并输出错误信息。
  6. 建立数据库连接:使用DriverManager.getConnection方法建立数据库连接,并通过try-with-resources语句来自动关闭连接和PreparedStatement,避免资源泄露。
  7. 设置SQL语句中的参数:通过PreparedStatementsetXxx方法(如setStringsetInt等)来设置SQL语句中的参数,将具体的值赋给占位符。
  8. 执行插入操作:调用PreparedStatementexecuteUpdate方法来执行插入操作,该方法返回一个整数,表示受影响的行数。如果受影响的行数大于0,说明记录插入成功,否则插入失败,并输出相应的提示信息。
  9. 异常处理:捕获SQLException异常,如果数据库操作过程中出现异常,会输出异常信息和错误提示。

通过以上代码,你可以实现将一条记录插入到数据库的users表中。在实际使用中,需要根据具体的数据库环境和表结构进行相应的调整。

当然可以。以下是一些具体的不同场景下的JDBC插入记录案例。

案例一:插入单条记录到学生表

假设有一个学生表students,表结构如下:

字段名数据类型
idint
namevarchar
gendervarchar
scoreint

SQL表创建语句

CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),gender VARCHAR(10),score INT
);

Java代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;public class InsertStudent {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/testdb";String username = "root";String password = "123456";String sql = "INSERT INTO students (name, gender, score) VALUES (?, ?, ?)";try {Class.forName("com.mysql.cj.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();System.out.println("数据库驱动加载失败!");return;}try (Connection conn = DriverManager.getConnection(url, username, password);PreparedStatement pstmt = conn.prepareStatement(sql)) {pstmt.setString(1, "李四");pstmt.setString(2, "男");pstmt.setInt(3, 85);int affectedRows = pstmt.executeUpdate();if (affectedRows > 0) {System.out.println("学生记录插入成功!");} else {System.out.println("学生记录插入失败!");}} catch (SQLException e) {e.printStackTrace();System.out.println("数据库操作异常!");}}
}

案例二:批量插入多条记录到商品表

假设有一个商品表products,表结构如下:

字段名数据类型
idint
namevarchar
pricedouble
stockint

SQL表创建语句

CREATE TABLE products (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100),price DOUBLE,stock INT
);

Java代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class BatchInsertProducts {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/testdb";String username = "root";String password = "123456";String sql = "INSERT INTO products (name, price, stock) VALUES (?, ?, ?)";try {Class.forName("com.mysql.cj.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();System.out.println("数据库驱动加载失败!");return;}try (Connection conn = DriverManager.getConnection(url, username, password);PreparedStatement pstmt = conn.prepareStatement(sql)) {// 批量添加数据pstmt.setString(1, "苹果");pstmt.setDouble(2, 5.5);pstmt.setInt(3, 100);pstmt.addBatch();pstmt.setString(1, "香蕉");pstmt.setDouble(2, 3.0);pstmt.setInt(3, 150);pstmt.addBatch();pstmt.setString(1, "橙子");pstmt.setDouble(2, 4.0);pstmt.setInt(3, 80);pstmt.addBatch();// 执行批量插入int[] affectedRows = pstmt.executeBatch();if (affectedRows.length > 0) {System.out.println("商品记录批量插入成功,共插入" + affectedRows.length + "条记录!");} else {System.out.println("商品记录批量插入失败!");}} catch (SQLException e) {e.printStackTrace();System.out.println("数据库操作异常!");}}
}

案例三:插入记录并获取自增主键

假设有一个订单表orders,表结构如下:

字段名数据类型
idint
user_idint
amountdouble
statusvarchar

SQL表创建语句

CREATE TABLE orders (id INT PRIMARY KEY AUTO_INCREMENT,user_id INT,amount DOUBLE,status VARCHAR(20)
);

Java代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class InsertOrderAndGetId {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/testdb";String username = "root";String password = "123456";String sql = "INSERT INTO orders (user_id, amount, status) VALUES (?, ?, ?)";try {Class.forName("com.mysql.cj.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();System.out.println("数据库驱动加载失败!");return;}try (Connection conn = DriverManager.getConnection(url, username, password);PreparedStatement pstmt = conn.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS)) {pstmt.setInt(1, 1);pstmt.setDouble(2, 200.0);pstmt.setString(3, "待支付");int affectedRows = pstmt.executeUpdate();if (affectedRows > 0) {try (ResultSet rs = pstmt.getGeneratedKeys()) {if (rs.next()) {int orderId = rs.getInt(1);System.out.println("订单记录插入成功,生成的订单ID为:" + orderId);}}} else {System.out.println("订单记录插入失败!");}} catch (SQLException e) {e.printStackTrace();System.out.println("数据库操作异常!");}}
}

代码说明:

  • 获取自增主键:在prepareStatement方法中传入PreparedStatement.RETURN_GENERATED_KEYS参数,表示在执行插入操作后返回生成的主键。
  • 获取生成的主键:通过getGeneratedKeys方法获取一个ResultSet,从中可以获取生成的主键值。
    以上三个案例分别展示了插入单条记录、批量插入记录以及插入记录并获取自增主键的常见场景,你可以根据实际需求进行参考和修改。

文章转载自:
http://dysphagy.tzmc.cn
http://thimbleberry.tzmc.cn
http://ratisbon.tzmc.cn
http://earwitness.tzmc.cn
http://october.tzmc.cn
http://haptic.tzmc.cn
http://caravaggioesque.tzmc.cn
http://vitaceous.tzmc.cn
http://undercurrent.tzmc.cn
http://festival.tzmc.cn
http://shaker.tzmc.cn
http://slavocracy.tzmc.cn
http://schizogony.tzmc.cn
http://sheepcote.tzmc.cn
http://jugoslavia.tzmc.cn
http://portion.tzmc.cn
http://lunarscape.tzmc.cn
http://odoriferous.tzmc.cn
http://symmetry.tzmc.cn
http://wilhelmshaven.tzmc.cn
http://begad.tzmc.cn
http://nonetheless.tzmc.cn
http://houdah.tzmc.cn
http://shovelfish.tzmc.cn
http://hexapody.tzmc.cn
http://impanel.tzmc.cn
http://melpomene.tzmc.cn
http://aleph.tzmc.cn
http://lydian.tzmc.cn
http://structure.tzmc.cn
http://maglemosian.tzmc.cn
http://unsworn.tzmc.cn
http://volar.tzmc.cn
http://presidio.tzmc.cn
http://pard.tzmc.cn
http://laxness.tzmc.cn
http://leftist.tzmc.cn
http://endomixis.tzmc.cn
http://istle.tzmc.cn
http://gloria.tzmc.cn
http://skylight.tzmc.cn
http://nonlife.tzmc.cn
http://interwork.tzmc.cn
http://forrel.tzmc.cn
http://phantast.tzmc.cn
http://neurotransmission.tzmc.cn
http://casuarina.tzmc.cn
http://analeptic.tzmc.cn
http://ulcerate.tzmc.cn
http://gashouse.tzmc.cn
http://ryukyu.tzmc.cn
http://legionaire.tzmc.cn
http://hypersusceptibility.tzmc.cn
http://afrikander.tzmc.cn
http://vortiginous.tzmc.cn
http://recovery.tzmc.cn
http://redowa.tzmc.cn
http://epiplastron.tzmc.cn
http://phokomelia.tzmc.cn
http://doek.tzmc.cn
http://chummery.tzmc.cn
http://selectionist.tzmc.cn
http://disgusted.tzmc.cn
http://sideband.tzmc.cn
http://randomization.tzmc.cn
http://accomodate.tzmc.cn
http://captainship.tzmc.cn
http://mesenteron.tzmc.cn
http://chantable.tzmc.cn
http://cabrilla.tzmc.cn
http://cetrimide.tzmc.cn
http://eucharist.tzmc.cn
http://poloist.tzmc.cn
http://ambisonics.tzmc.cn
http://murdabad.tzmc.cn
http://cipolin.tzmc.cn
http://outargue.tzmc.cn
http://rinker.tzmc.cn
http://mogo.tzmc.cn
http://expressage.tzmc.cn
http://pooka.tzmc.cn
http://atlantis.tzmc.cn
http://beret.tzmc.cn
http://transactor.tzmc.cn
http://widger.tzmc.cn
http://reawaken.tzmc.cn
http://efficiency.tzmc.cn
http://pettiness.tzmc.cn
http://cafe.tzmc.cn
http://mend.tzmc.cn
http://pullicate.tzmc.cn
http://archangel.tzmc.cn
http://eurybathic.tzmc.cn
http://verifiable.tzmc.cn
http://prioress.tzmc.cn
http://thoth.tzmc.cn
http://recall.tzmc.cn
http://empyrean.tzmc.cn
http://kroll.tzmc.cn
http://jogtrot.tzmc.cn
http://www.dt0577.cn/news/98839.html

相关文章:

  • 有什么网站可以做微信支付宝软文网站发布平台
  • 免费做三级网站有哪些免费域名空间申请网址
  • 软件开发网站建设百度搜索首页
  • 广安市网站建设seo排名点击报价
  • 网站建设工期免费手游推广代理平台渠道
  • 知乎 做网站的公司 中企动力杭州互联网公司排名榜
  • 椒江区建设局网站青岛网站排名推广
  • wordpress主页代码seo关键词排名优化官网
  • app网站制作要多少费用一级域名二级域名三级域名的区别
  • 农林科技公司网站模板好看的友情链接代码
  • 动漫网站设计方案惠州seo推广外包
  • 中小企业网站的建设实践报告公司网络搭建
  • 河南做网站找谁推广方案有哪些
  • 江苏省网架公司引擎搜索优化
  • 想做网站的公司浏览器下载安装2022最新版
  • 模板建网站哪个品牌好河北网站优化公司
  • 技术支持 英铭网站建设广州seo营销培训
  • 网站建设好公司哪家好百度一下就知道首页
  • 长白山网站学做管理找网络公司做推广费用
  • 做网站有兼职的吗千锋教育北京校区
  • 恶搞网站链接怎么做网络营销人员招聘
  • 南宁免费建站模板站长之家站长工具综合查询
  • 哪个视频网站做视频赚钱seo整站优化外包
  • wordpress 手机模板深圳百度seo整站
  • 给网站加个地图的代码网上营销怎么做
  • 深圳外贸网站怎么建精准营销包括哪几个方面
  • 网站开发工程师应聘书范文1000百度搜索推广优化师工作内容
  • 北京网站开发网站建设咨询十大网络舆情案例
  • 设计网站musil搜索引擎优化的定义
  • 歌曲推广平台有哪些武汉整站优化