文档章节

JDBC 插入数据返回数据主键

一缕清风
 一缕清风
发布于 2016/07/12 18:41
字数 197
阅读 3
收藏 0
  1. package com.test;  
  2. import java.sql.Connection;  
  3. import java.sql.PreparedStatement;  
  4. import java.sql.ResultSet;  
  5. import java.sql.Statement;  
  6. import java.util.Date;  
  7. import java.util.Properties;  
  8. /** 
  9.  * 数据库连接对象管理类 
  10.  * @说明 
  11.  * @author cuisuqiang 
  12.  * @version 1.0 
  13.  * @since  
  14.  */  
  15. public class ConnectionManager {  
  16.     private static final String url = "jdbc:mysql://localhost:3306/test";  
  17.     private static final String username = "root";  
  18.     private static final String userpass = "root";  
  19.     @SuppressWarnings("deprecation")  
  20.     public static void main(String[] args) throws Exception{  
  21.         Connection conn = getConnection();  
  22.         if (null != conn) {  
  23.             String sql = "insert into common_user (name) values(?)";  
  24.             // 指定返回生成的主键  
  25.             PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);   
  26.             // 如果使用静态的SQL,则不需要动态插入参数  
  27.             pstmt.setString(1new Date().toLocaleString());  
  28.             pstmt.executeUpdate();   
  29.             // 检索由于执行此 Statement 对象而创建的所有自动生成的键   
  30.             ResultSet rs = pstmt.getGeneratedKeys();   
  31.             if (rs.next()) {  
  32.                 Long id = rs.getLong(1);   
  33.                 System.out.println("数据主键:" + id);   
  34.             }  
  35.         }  
  36.     }  
  37.     public static Connection getConnection() {  
  38.         Connection conn = null;  
  39.         try {             
  40.             com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();  
  41.             Properties properties = new Properties();  
  42.             properties.put("user", username);  
  43.             properties.put("password", userpass);  
  44.             conn = driver.connect(url, properties);  
  45.         } catch (Exception e) {  
  46.             e.printStackTrace();  
  47.         }  
  48.         return conn;  
  49.     }  
  50. }  

本文转载自:http://blog.csdn.net/baokx/article/details/26730749

一缕清风
粉丝 5
博文 128
码字总数 3410
作品 0
东城
私信 提问
Mybatis 插入数据后返回主键值

Oracle中获取刚刚插入记录的主键值: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProp......

残风vs逝梦
2014/08/18
9.7K
1
SpringBoot高级篇JdbcTemplate之数据插入使用姿势详解

db操作可以说是java后端的必备技能了,实际项目中,直接使用JdbcTemplate的机会并不多,大多是mybatis,hibernate,jpa或者是jooq,然后前几天写一个项目,因为db操作非常简单,就直接使用J...

小灰灰Blog
04/23
13
0
轻量级数据库中间件利器Sharding-JDBC深度解析

本文根据DBAplus社群第114期线上分享整理而成。 主题简介: 1、关系型数据库中间件核心功能介绍 2、Sharding-JDBC架构及内核解析 3、Sharding-JDBC未来展望 关系型数据库凭借灵活查询的SQL和...

张亮
2017/07/28
0
0
Java程序打成jar包用bat命令运行,插入数据到数据库报主键冲突

Java程序打成jar包用bat命令运行,插入数据到数据库报主键冲突 数据库是oracle 具体情况如下: java程序从数据库A查询数据,然后插入到数据库B,如果数据库B没有数据则直接插入,如果有数据删...

yuewawa
2016/12/02
208
1
mysql大量数据插入探讨(量变引起质变)

分类:见Visio图 关于大量数据导入是应注意以下几点: 分批导入,导入一批后最后提交(commit),可以使用jdbc的(executeBatch)批量处理但是注意它的最大上限,否则只会执行一部分sql语句,超...

soul_mate
2014/04/27
768
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
133
8
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
2
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部