`

Spring的JdbcTemplate插入操作返回主键ID的方法

 
阅读更多
public  Long insertAndGetKey(final String sql, final SmsBean smsbean) {  
    KeyHolder keyHolder = new GeneratedKeyHolder();  
    jdbcTemplate.update(new PreparedStatementCreator() {  
        public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {  
              
            //String sql_sms = "insert into  sms(title,content,date_s,form,sffs,by1,by2,by3) values (?,?,'"+dates+"',?,?,?,?,?)";   
               PreparedStatement ps = connection.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);  
               ps.setString(1, smsbean.getTitle());  
               ps.setString(2, smsbean.getContent());  
               ps.setString(3, smsbean.getForm());  
               ps.setString(4, smsbean.getSffs());  
               /* 
             * by1 存放的是 草稿主人的ID 
             * 当消息为发送。清楚by1的ID    
             */   
               ps.setString(5, "");  
               ps.setString(6, smsbean.getBy2());  
               ps.setString(7, smsbean.getBy3());  
               return ps;  
        }  
    }, keyHolder);  
      
    Long generatedId = keyHolder.getKey().longValue();   
    return generatedId;  
}  

分享到:
评论

相关推荐

    Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站.htm

    Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站

    spring自带的jdbcTemplate查询、插入预编译使用

    在这里,`update()`方法返回的是受影响的行数,可以用来判断操作是否成功。 除了基本的查询和更新,`jdbcTemplate`还支持回调(Callback)机制,允许我们在执行数据库操作的过程中进行额外的处理。例如,我们可以...

    jdbc保存对象返回一个主键

    3. **JdbcTemplate**:Spring框架中的一个类,用于简化JDBC的使用,提供了一组方便的方法来处理数据库操作。 #### 三、代码解析 假设我们有一个`MessageText`对象,需要将其保存到数据库,并希望在保存后能够获取...

    JdbcTemplate的事务控制.docx

    然而,单纯使用`JdbcTemplate`进行数据库操作时,并不能自动管理事务,因此我们需要了解如何通过`JdbcTemplate`结合Spring框架来实现事务控制。 #### 二、原生 JDBC 的事务控制 在没有使用任何框架的情况下,我们...

    jdbcTemplate集锦很好的推荐

    `jdbcTemplate`是Spring框架中的一个核心组件,主要用于简化对数据库的操作。它提供了一系列的API来帮助开发者执行SQL语句,处理结果集等,使得操作数据库变得更加简单且安全。 在实际应用中,`jdbcTemplate`通常...

    Spring对JDBC的支持

    在这个例子中,`SimpleJdbcInsert`类被用来简化插入操作,而`executeAndReturnKey()`方法执行插入并返回新生成的主键。 3. **使用JdbcTemplate进行数据库查询** 查询操作可以使用`query()`方法完成,它可以接受...

    汤阳光_Spring2.5课程文档(三)

    - 创建了一个名为`spring_jdbc`的数据库,并建立了一个名为`jdbcUser`的表,包含id(主键,自增长)、name和age三个字段。这一步是为了搭建一个基础环境来演示Spring+JDBC的数据库操作。 3. **配置数据源(c3p0)*...

    SpringJDBC训练素材.zip

    对于插入操作,Spring JDBC提供了SimpleJdbcInsert类,它可以自动生成INSERT语句并处理主键自增的问题。对于存储过程的调用,SimpleJdbcCall则扮演了关键角色,它可以方便地包装和执行数据库的存储过程。 在实际...

    SpringBoot  jdbctemplate使用方法解析

    JdbcTemplate的`update`方法返回的是受影响的行数,这对于判断操作是否成功非常有帮助。例如,插入操作返回1表示成功插入一条记录,更新和删除操作返回非0值表示有行被修改或删除。 在实际开发中,我们还会编写控制...

    spring3.10实现jdbc存储deom

    `SimpleJdbcInsert`则用于简化插入操作,自动处理主键生成等问题。 在开始项目之前,必须确保正确配置Spring的jar包依赖。"jar对应关系.txt"文件很可能详细列出了这些依赖,可能包括`spring-context`、`spring-jdbc...

    springj-dbc文档

    JdbcTemplate提供了各种执行SQL语句的方法,如execute、query、update等,可以处理简单的查询、复杂的多行更新和插入操作。例如,查询操作可以通过如下方式实现: ```java List<User> users = jdbcTemplate.query( ...

    spring详解3

    - **数据库创建**:首先,创建名为`spring_jdbc`的数据库,接着在该数据库下创建一张`t_user`表,用于存储用户信息,包含`id`(主键)、`name`(姓名)和`age`(年龄)字段。 - **配置数据源**:使用c3p0连接池...

    Spring数据库访问(HSQL)(三)

    接下来,为了运行SQL查询,可以使用JdbcTemplate的queryForList()方法获取结果集,或者update()方法执行插入、更新和删除操作。同时,可以使用PreparedStatement来防止SQL注入,提高安全性。 在实际应用中,我们...

    spring 中的jdbc

    1. `JdbcTemplate`:这是Spring JDBC的核心类,它提供了一组模板方法,用于执行SQL查询、更新和删除操作。`JdbcTemplate`通过自动处理结果集和异常,简化了数据库交互。 2. `SimpleJdbcInsert`:这是一个专门用于...

    springjdbc的简单运用以及Dojo的小案例,包括了Dojo的相关资料包

    `SimpleJdbcInsert`则专门用于简化插入操作,可以自动处理主键生成。 在实际运用中,我们首先需要配置数据源,这通常通过`DataSource`实现,如Apache的`BasicDataSource`。然后,我们可以创建`JdbcTemplate`实例,...

    Spring整合Hibernate示例完整代码

    6. **Model(实体类)**:在Hibernate中,我们需要定义实体类来表示数据库中的表,通常会使用@Entity注解标识,并通过@Id和@GeneratedValue指定主键。此外,还可以使用@Column和其他注解来进一步定制字段的映射。 7...

Global site tag (gtag.js) - Google Analytics