`
ihuangweiwei
  • 浏览: 265354 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JDBC插入数据库获取主键

阅读更多
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.hww.util.db.JDBCUtil;

/**
 * @className:JDBCTest.java
 * @classDescription:
 * @author:weiwei.huang
 * @createTime:2012-2-10
 */
public class GENERATEDTest {
	public static void main(String[] args) throws SQLException {
		test1();
		test2();
	}
	/**
	 * PreparedStatement测试
	 *
	 * @author weiwei.huang
	 * @createTime 2012-2-10
	 * @throws SQLException
	 */
	public static void test1() throws SQLException {
		//建立数据库连接
		Connection conn = JDBCUtil.getCon();
		//sql语句
		String sql = "INSERT INTO song(song,singer) VALUES(?,?)";
		// PreparedStatement.RETURN_GENERATED_KEYS,该常量指示生成的键应该可用于获取,继承于java.sql.Statement
		PreparedStatement prep = conn.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS);
		prep.setString(1, "love");
		prep.setString(2, "萧亚轩");
		prep.executeUpdate();
		//获取由于执行此 Statement 对象而创建的所有自动生成的键。也是继承与java.sql.Statement
		ResultSet rs = prep.getGeneratedKeys();
		if (rs.next()) {
			System.out.println(rs.getInt(1));
		}
		//关闭连接
		JDBCUtil.closeCon(conn);
	}
	
	/**
	 * Statement测试
	 *
	 * @author weiwei.huang
	 * @createTime 2012-2-10
	 * @throws SQLException
	 */
	public static void test2() throws SQLException {
		Connection conn = JDBCUtil.getCon();
		String sql = "INSERT INTO song(song,singer) VALUES('love','萧亚轩')";
		Statement stmt = conn.createStatement();
		stmt.execute(sql, Statement.RETURN_GENERATED_KEYS);
		ResultSet rst = stmt.getGeneratedKeys();
		if (rst.next()) {
			System.out.println(rst.getInt(1));
		}
		JDBCUtil.closeCon(conn);
	}
}

 

分享到:
评论

相关推荐

    jdbc 插入记录并返回自增主键值

    java 利用 jdbc 向 mysql 数据库插入记录并返回插入记录生成的主键值

    Java数据库编程宝典3

    第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式...

    jdbc基础和参考

    JDBC连接数据库的步骤: 1.注册驱动(加载驱动): 注册的方式: 1.使用类加载器(使用反射的方式) Class.forName(driverName); 2.实例化Driver Driver driver = new oracle.jdbc.driver.OracleDriver(); ...

    Java数据库编程宝典2

    第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式...

    Java数据库编程宝典1

    第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式...

    Firebird数据库中文版

    包括但不限于"FULL/LEFT/RIGHT [OUTER] JOIN , UNION, DISTINCT , 子查询 (IN, EXISTS),内部函数 (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), 主键,外键,唯一索引以及所有通用的数据类型。 Firebird还实现了域,...

    Java数据库编程宝典4

    第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 1.1.4 主键 1.1.5 外键 1.1.6 关系 1.1.7 视图 1.1.6 范式...

    支持多数据库的ORM框架ef-orm.zip

    例如:数据库查询条件的传入问题是所有ORM框架都不能回避的一个问题,所以我经常在想——既然我们可以用向DAO传入一个Entity来实现插入操作,为什么就不能用同样的方法来描述一个不以主键为条件的update/select/...

    Java学习指南21 MyBatis框架

    * 基于 MyBatis 的插入,自增主键的配置 * 基于 MyBatis 的更新与删除操作 * ResultMap 自定义结果映射 * Dynamic SQL 动态可变的SQL * 注解方式的 Mapper定义 * MyBatis 在Web项目中的应用,全局工厂实例的...

    基于Java Swing + MySQL + JDBC 的图书管理系统.zip

    它完全支持结构化查询语言(SQL),允许用户进行数据查询、插入、更新、删除、创建和管理数据库结构等操作。SQL标准的广泛支持使得MySQL易于学习,且与其他关系型数据库系统有良好的互操作性。 存储引擎 MySQL支持...

    一项基于Java+Mysql+JDBC的银行中间业务系统项目.zip

    它完全支持结构化查询语言(SQL),允许用户进行数据查询、插入、更新、删除、创建和管理数据库结构等操作。SQL标准的广泛支持使得MySQL易于学习,且与其他关系型数据库系统有良好的互操作性。 存储引擎 MySQL支持...

    java-entitymanager-generic-dao:使用 Hibernate EntityManager (Spring Boot) 的通用 Dao

    在这个实现中,我们使用 Spring Framework ORM EntityManager 使用预配置的数据源来实现基本操作,例如从数据库中插入、更新、删除和检索实体。 这种实现的主要优点是,由于这个 dao 是使用 Java 泛型实现的,我们...

    Hibernate注解

    * 6.select 使用触发器生成主键(主要用于早期的数据库主键生成机制,少用) * 例:@GeneratedValue(generator = "paymentableGenerator") * @GenericGenerator(name = "paymentableGenerator", strategy = "select...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    而越来越多专业知识的 Blog 的出现,让我们看到了 Blog 更多所蕴涵的巨大的信息价值:不同的 Blog 选择不同的内容,收集和整理成为很多人关注的专业 Blog ——目前越来越多的人获取信息的来源是一些固定的 Blog 。...

    在Spring中用select last_insert_id()时遇到问题

    可用到自己的程序中之后却得不到想要的结果,于是就怀疑到了Spring头上,因为通过基本JDBC测试是没有任何问题的,所以就去跟踪Spring JDBC, 看过源码之后才豁然开朗,原来Spring中如此获得数据库Connection的:...

    Spring.3.x企业应用开发实战(完整版).part2

    第11章 使用Spring JDBC访问数据库 11.1 使用Spring JDBC 11.1.1 JDBCTemplate小试牛刀 11.1.2 在DAO中使用JDBCTemplate 11.2 基本的数据操作 11.2.1 更改数据 11.2.2 返回数据库的表自增主键值 11.2.3 批量更改数据...

    Spring3.x企业应用开发实战(完整版) part1

    第11章 使用Spring JDBC访问数据库 11.1 使用Spring JDBC 11.1.1 JDBCTemplate小试牛刀 11.1.2 在DAO中使用JDBCTemplate 11.2 基本的数据操作 11.2.1 更改数据 11.2.2 返回数据库的表自增主键值 11.2.3 批量更改数据...

    MySQL5 权威指南第3版中文版_part1

     8.8 主键和外键  8.9 索引  8.10 视图  8.11 示例数据库mylibrary(图书管理)  8.12 示例数据库myforum(网上论坛)  8.13 示例数据库exceptions(用于特殊情况的测试)  第9章 SQL语言入门  9.1 简介  ...

    MySQL 5权威指南(第3版) 中文版 下载地址

     8.8 主键和外键  8.9 索引  8.10 视图  8.11 示例数据库mylibrary(图书管理)  8.12 示例数据库myforum(网上论坛)  8.13 示例数据库exceptions(用于特殊情况的测试)  第9章 SQL语言入门  9.1 ...

Global site tag (gtag.js) - Google Analytics