JDBC插入数据返回数据主键代码实例

 更新时间:2020年11月04日 09:54:41   作者:cuisuqiang  
这篇文章主要介绍了JDBC插入数据返回数据主键代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

代码如下

package com.test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
import java.util.Properties;
/**
 * 数据库连接对象管理类
 * @说明
 * @author cuisuqiang
 * @version 1.0
 * @since
 */
public class ConnectionManager {
	private static final String url = "jdbc:mysql://localhost:3306/test";
	private static final String username = "root";
	private static final String userpass = "root";
	@SuppressWarnings("deprecation")
	public static void main(String[] args) throws Exception{
		Connection conn = getConnection();
		if (null != conn) {
			String sql = "insert into common_user (name) values(?)";
			// 指定返回生成的主键
      PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); 
      // 如果使用静态的SQL,则不需要动态插入参数
      pstmt.setString(1, new Date().toLocaleString());
      pstmt.executeUpdate(); 
      // 检索由于执行此 Statement 对象而创建的所有自动生成的键 
      ResultSet rs = pstmt.getGeneratedKeys(); 
      if (rs.next()) {
        Long id = rs.getLong(1); 
        System.out.println("数据主键:" + id); 
      }
		}
	}
	public static Connection getConnection() {
		Connection conn = null;
		try {			
			com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
			Properties properties = new Properties();
			properties.put("user", username);
			properties.put("password", userpass);
			conn = driver.connect(url, properties);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conn;
	}
}

打印生成的主键:

数据主键:25

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring AOP与AspectJ的对比及应用详解

    Spring AOP与AspectJ的对比及应用详解

    这篇文章主要为大家介绍了Spring AOP与AspectJ的对比及应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 在Mybatis中使用自定义缓存ehcache的方法

    在Mybatis中使用自定义缓存ehcache的方法

    这篇文章主要介绍了在Mybatis中使用自定义缓存ehcache的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java线程安全的常用类_动力节点Java学院整理

    Java线程安全的常用类_动力节点Java学院整理

    在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的。在jdk1.2之后,就出现许许多多非线程安全的类。 下面是这些线程安全的同步的类
    2017-06-06
  • 浅拷贝和深拷贝原理分析

    浅拷贝和深拷贝原理分析

    Java 对象拷贝是为对象赋值的一种方式,简单来说就是创建一个和原对象相同的对象,新创建的对象是原对象的一个副本。面试官贼拉喜欢在面试的时候问一问你浅拷贝和深拷贝的原理
    2021-08-08
  • Java数据结构 递归之迷宫回溯案例讲解

    Java数据结构 递归之迷宫回溯案例讲解

    这篇文章主要介绍了Java数据结构递归之迷宫回溯案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Elasticsearch 自动重启脚本创建实现

    Elasticsearch 自动重启脚本创建实现

    这篇文章主要为大家介绍了Elasticsearch 自动重启脚本创建实现详解分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Java中IO流解析及代码实例详解

    Java中IO流解析及代码实例详解

    流是一种抽象概念,它代表了数据的无结构化传递。。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出
    2021-08-08
  • Java 内省(Introspector)深入理解

    Java 内省(Introspector)深入理解

    这篇文章主要介绍了Java 内省(Introspector)深入理解的相关资料,需要的朋友可以参考下
    2017-03-03
  • SpringBoot使用OkHttp完成高效网络请求详解

    SpringBoot使用OkHttp完成高效网络请求详解

    OkHttp 是一个高效的 HTTP 客户端,支持同步和异步请求,且具备自动处理 cookie、缓存和连接池等高级功能,下面我们来看看SpringBoot如何利用 OkHttp 完成高效网络请求吧
    2025-03-03
  • java web在高并发和分布式下实现订单号生成唯一的解决方案

    java web在高并发和分布式下实现订单号生成唯一的解决方案

    这篇文章主要介绍了java web在高并发和分布式下实现订单号生成唯一的解决方案,需要的朋友可以参考下
    2017-11-11

最新评论