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);
}
}
分享到:
相关推荐
java 利用 jdbc 向 mysql 数据库插入记录并返回插入记录生成的主键值
第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连接数据库的步骤: 1.注册驱动(加载驱动): 注册的方式: 1.使用类加载器(使用反射的方式) Class.forName(driverName); 2.实例化Driver Driver driver = new oracle.jdbc.driver.OracleDriver(); ...
第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 范式...
第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 范式...
包括但不限于"FULL/LEFT/RIGHT [OUTER] JOIN , UNION, DISTINCT , 子查询 (IN, EXISTS),内部函数 (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), 主键,外键,唯一索引以及所有通用的数据类型。 Firebird还实现了域,...
第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框架都不能回避的一个问题,所以我经常在想——既然我们可以用向DAO传入一个Entity来实现插入操作,为什么就不能用同样的方法来描述一个不以主键为条件的update/select/...
* 基于 MyBatis 的插入,自增主键的配置 * 基于 MyBatis 的更新与删除操作 * ResultMap 自定义结果映射 * Dynamic SQL 动态可变的SQL * 注解方式的 Mapper定义 * MyBatis 在Web项目中的应用,全局工厂实例的...
它完全支持结构化查询语言(SQL),允许用户进行数据查询、插入、更新、删除、创建和管理数据库结构等操作。SQL标准的广泛支持使得MySQL易于学习,且与其他关系型数据库系统有良好的互操作性。 存储引擎 MySQL支持...
它完全支持结构化查询语言(SQL),允许用户进行数据查询、插入、更新、删除、创建和管理数据库结构等操作。SQL标准的广泛支持使得MySQL易于学习,且与其他关系型数据库系统有良好的互操作性。 存储引擎 MySQL支持...
在这个实现中,我们使用 Spring Framework ORM EntityManager 使用预配置的数据源来实现基本操作,例如从数据库中插入、更新、删除和检索实体。 这种实现的主要优点是,由于这个 dao 是使用 Java 泛型实现的,我们...
* 6.select 使用触发器生成主键(主要用于早期的数据库主键生成机制,少用) * 例:@GeneratedValue(generator = "paymentableGenerator") * @GenericGenerator(name = "paymentableGenerator", strategy = "select...
而越来越多专业知识的 Blog 的出现,让我们看到了 Blog 更多所蕴涵的巨大的信息价值:不同的 Blog 选择不同的内容,收集和整理成为很多人关注的专业 Blog ——目前越来越多的人获取信息的来源是一些固定的 Blog 。...
可用到自己的程序中之后却得不到想要的结果,于是就怀疑到了Spring头上,因为通过基本JDBC测试是没有任何问题的,所以就去跟踪Spring JDBC, 看过源码之后才豁然开朗,原来Spring中如此获得数据库Connection的:...
第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 批量更改数据...
第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 批量更改数据...
8.8 主键和外键 8.9 索引 8.10 视图 8.11 示例数据库mylibrary(图书管理) 8.12 示例数据库myforum(网上论坛) 8.13 示例数据库exceptions(用于特殊情况的测试) 第9章 SQL语言入门 9.1 简介 ...
8.8 主键和外键 8.9 索引 8.10 视图 8.11 示例数据库mylibrary(图书管理) 8.12 示例数据库myforum(网上论坛) 8.13 示例数据库exceptions(用于特殊情况的测试) 第9章 SQL语言入门 9.1 ...