`
hybxiaodao
  • 浏览: 246939 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

获取自动生成的键值

SQL 
阅读更多
Statement.RETURN_GENERATED_KEYS表示获取自动生成的键值
如果一条记录中,要插入一个自动获取的键值,可以这样写:
表的类型是(id,pid,rootid,title,cont,pdate,isleaf)
其中id是自动生成的键值
String sql = "insert into article values(null,0,?,?,?,now(),0)";
PreparedStatement pstmt =conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
//Statement.RETURN_GENERATED_KEYS表示:pstmt在创建过程中会生成多个key


pstmt.setInt(1,-1);  //暂时将rootid的值设置为-1,后面在更新
pstmt.setString(2,title);
pstmt.setString(3,cont);
pstmt.executeUpdate();

ResultSet rskey = pstmt.getGeneratedKeys();
//通过pstmt.getGeneratedKeys()方法可以返回类型为resultSet的结果集,将keys保存到结果集中
rskey.next();
int key = rskey.getInt(1);

String sqlroot = "update article set rootid="+key +" where id="+key;
stmt.executeUpdate(sqlroot);
//执行更新操作,就能够把rootid的值改成自动生成的值id

分享到:
评论

相关推荐

    支持主键自增的数据库获取主键值.zip

    在处理主键自增时,MyBatis提供了一些特定的机制来帮助我们获取这些自动生成的主键值。 首先,我们需要在MyBatis的映射文件(Mapper XML)中设置`useGeneratedKeys="true"`和`keyProperty="property_name"`这两个...

    1000道互联网Java工程师面试题485页.pdf

    13. **获取自动生成键值**:可以通过`<selectKey>`标签在插入语句执行前后获取主键。 14. **传递多个参数**:可以使用`@Param`注解、Map对象或者Java Bean作为参数传递。 15. **Mybatis动态SQL**:动态SQL允许根据...

    C#自动生成MODEL

    "自动生成MODEL"是软件开发过程中的一项重要技术,它能够显著提高开发效率,减少手动编写代码的时间。MODEL通常指的是数据模型,是业务逻辑中的核心部分,用于描述应用程序的数据结构和业务实体。 自动生成MODEL的...

    MyBatis主键自动生成方法.pdf

    在`<insert>`标签内设置`useGeneratedKeys="true"`,MyBatis会尝试获取数据库自动生成的主键值。在MySQL中,执行`INSERT`语句后,可以通过`LAST_INSERT_ID()`函数获取最新插入行的主键值。MyBatis会将这个值自动设置...

    mysql取得自动增长的主键值

    ### MySQL获取自动增长的主键值 在MySQL数据库中,自动增长...通过以上知识点的学习,我们可以更好地理解和掌握MySQL中获取自动增长主键值的方法及其应用场景,这对于日常的数据库管理和应用开发都有着重要的意义。

    SQL自动生成JSON数据.docx

    SQL自动生成JSON数据 SQL语言是 stru ctured Query Language的缩写,用于管理关系数据库管理系统(RDBMS)。SQL语言可以对数据库进行创建、修改、删除、查询等操作。SQL语言是一种标准化的语言,广泛应用于各种...

    Android 自动化生成多语言strings文件

    在本案例中,我们可以通过`jxl.jar`读取一个包含多语言文本的Excel文件,然后利用这些数据自动生成对应的`strings.xml`文件。 首先,我们需要创建一个Excel文件,每一列代表一种语言,第一列通常为英文版本,其余列...

    MybatisPlus中插入数据获取主键值示例代码

    MybatisPlus为自增主键提供了自动获取主键值的功能。当主键类型为整型并且设置了自增属性时,MybatisPlus会在插入数据后自动返回主键值。有两种方式可以获取这个值: 1. 使用`@TableId`注解:在实体类中,你可以...

    MybatisPlus中插入数据后获取该对象主键值的实现

    在上述代码中,`@SelectKey`注解用于在插入后获取数据库生成的主键值,并将其设置到`employee`对象的`id`属性上。 总结起来,MybatisPlus提供了便捷的方法来插入数据并获取对象的主键值。通过设置`IdType.AUTO`,...

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

    对于具有自增主键的表,MySQL会自动为新插入的记录生成主键值。为了获取这个值,我们需要在插入语句中使用`LAST_INSERT_ID()`函数,并在`Statement`对象上设置`RETURN_GENERATED_KEYS`属性: ```java try ...

    iOS开发根据JSON字符串自动生成JSONModel文件

    本文将详细讨论如何利用JSON字符串自动生成`JSONModel`格式的模型文件,并介绍一个名为"EboJsonParser"的工具。 首先,理解`JSONModel`库的工作原理至关重要。`JSONModel`提供了一种声明式的方式,开发者可以在模型...

    纯手写自动生成java代码autoCreateJavaDemo

    【标题】"纯手写自动生成java代码autoCreateJavaDemo" 涉及的核心知识点是自动化代码生成,这是软件开发中的一个重要环节,特别是在大型项目中,可以极大地提高开发效率和代码一致性。Java作为一种广泛使用的编程...

    redis+ssm+代码自动生成(dao,service,mapper)

    本项目将Redis集成到SSM中,并实现了DAO、Service、Mapper的代码自动生成,大大提升了开发效率。 首先,我们来看`Spring`,它是整个框架的基础,负责管理对象(Bean)的生命周期和依赖注入。在SSM中,Spring作为...

    Json字符串生成实体对象工具

    在实际应用中,这种工具通常会集成到IDE的插件或者代码生成库中,开发者只需提供JSON样本,工具就能自动生成对应的C#代码。这样不仅避免了手动编码的错误,还使得代码更具有可读性和一致性。 例如,一个简单的JSON...

    1+X考试真题-Java-中级-2021-11(1).docx

    这是因为 MyBatis 提供了一个名为 useGeneratedKeys 的选项,该选项可以让 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来获取自动生成的主键值。 2. MyBatis 的特点有误的是什么? 答案:B. 能够在运行期针对库表...

    根据JSON自动生成select联动

    本示例中的"根据JSON自动生成select联动"就是一种利用JSON数据实现多级关联的`select`元素的方法,主要涉及JQuery库和HTML页面的构建。 首先,我们要理解JSON(JavaScript Object Notation)的结构。JSON对象通常...

    php数组实现根据某个键值将相同键值合并生成新二维数组的方法

    总结一下,这个PHP代码片段展示了如何根据特定键值(如'a')将二维数组进行分组和合并,生成新的二维数组。这种方法在处理和组织大量数据时非常有用,尤其在需要对数据进行分组统计或分析的场景。通过熟练掌握这种...

    mybatis获取自增主键的值

    在MyBatis的SQL插入语句中,我们可以添加`useGeneratedKeys="true"`属性,告诉MyBatis去获取生成的主键值。接着,我们需要指定`keyProperty`,将其设置为Java对象中对应主键属性的名称。例如,如果实体类中的主键...

    字典生成_字典_

    字典生成器通常是一个程序或工具,用于根据特定规则自动生成字典对象。这些规则可能包括指定键的范围、值的类型或生成规则等。在C#中,你可以通过编写代码来实现这样的功能,例如,生成包含特定键值对的字典。以下是...

Global site tag (gtag.js) - Google Analytics