Spring的JdbcTemplate插入操作返回主键ID的方法:Srping 2.5
/**
* 妞见妞爱
*
* 增加并且获取主键
* @param sql sql语句
* @param params 参数
* @return 主键
*/
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;
}
上面是我开发中的代码...但是一直有个问题没解决 就是 在这个方法中保存日期的时候老是报错。。
由于项目时间紧 也没时间去研究...所以就把 日期 拼接在 sql 语句中了。。。O(∩_∩)O哈哈~
有空我在测试...今天先到这里....
分享到:
相关推荐
Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站
在这里,`update()`方法返回的是受影响的行数,可以用来判断操作是否成功。 除了基本的查询和更新,`jdbcTemplate`还支持回调(Callback)机制,允许我们在执行数据库操作的过程中进行额外的处理。例如,我们可以...
3. **JdbcTemplate**:Spring框架中的一个类,用于简化JDBC的使用,提供了一组方便的方法来处理数据库操作。 #### 三、代码解析 假设我们有一个`MessageText`对象,需要将其保存到数据库,并希望在保存后能够获取...
然而,单纯使用`JdbcTemplate`进行数据库操作时,并不能自动管理事务,因此我们需要了解如何通过`JdbcTemplate`结合Spring框架来实现事务控制。 #### 二、原生 JDBC 的事务控制 在没有使用任何框架的情况下,我们...
`jdbcTemplate`是Spring框架中的一个核心组件,主要用于简化对数据库的操作。它提供了一系列的API来帮助开发者执行SQL语句,处理结果集等,使得操作数据库变得更加简单且安全。 在实际应用中,`jdbcTemplate`通常...
在这个例子中,`SimpleJdbcInsert`类被用来简化插入操作,而`executeAndReturnKey()`方法执行插入并返回新生成的主键。 3. **使用JdbcTemplate进行数据库查询** 查询操作可以使用`query()`方法完成,它可以接受...
- 创建了一个名为`spring_jdbc`的数据库,并建立了一个名为`jdbcUser`的表,包含id(主键,自增长)、name和age三个字段。这一步是为了搭建一个基础环境来演示Spring+JDBC的数据库操作。 3. **配置数据源(c3p0)*...
对于插入操作,Spring JDBC提供了SimpleJdbcInsert类,它可以自动生成INSERT语句并处理主键自增的问题。对于存储过程的调用,SimpleJdbcCall则扮演了关键角色,它可以方便地包装和执行数据库的存储过程。 在实际...
JdbcTemplate的`update`方法返回的是受影响的行数,这对于判断操作是否成功非常有帮助。例如,插入操作返回1表示成功插入一条记录,更新和删除操作返回非0值表示有行被修改或删除。 在实际开发中,我们还会编写控制...
`SimpleJdbcInsert`则用于简化插入操作,自动处理主键生成等问题。 在开始项目之前,必须确保正确配置Spring的jar包依赖。"jar对应关系.txt"文件很可能详细列出了这些依赖,可能包括`spring-context`、`spring-jdbc...
JdbcTemplate提供了各种执行SQL语句的方法,如execute、query、update等,可以处理简单的查询、复杂的多行更新和插入操作。例如,查询操作可以通过如下方式实现: ```java List<User> users = jdbcTemplate.query( ...
- **数据库创建**:首先,创建名为`spring_jdbc`的数据库,接着在该数据库下创建一张`t_user`表,用于存储用户信息,包含`id`(主键)、`name`(姓名)和`age`(年龄)字段。 - **配置数据源**:使用c3p0连接池...
接下来,为了运行SQL查询,可以使用JdbcTemplate的queryForList()方法获取结果集,或者update()方法执行插入、更新和删除操作。同时,可以使用PreparedStatement来防止SQL注入,提高安全性。 在实际应用中,我们...
1. `JdbcTemplate`:这是Spring JDBC的核心类,它提供了一组模板方法,用于执行SQL查询、更新和删除操作。`JdbcTemplate`通过自动处理结果集和异常,简化了数据库交互。 2. `SimpleJdbcInsert`:这是一个专门用于...
`SimpleJdbcInsert`则专门用于简化插入操作,可以自动处理主键生成。 在实际运用中,我们首先需要配置数据源,这通常通过`DataSource`实现,如Apache的`BasicDataSource`。然后,我们可以创建`JdbcTemplate`实例,...
6. **Model(实体类)**:在Hibernate中,我们需要定义实体类来表示数据库中的表,通常会使用@Entity注解标识,并通过@Id和@GeneratedValue指定主键。此外,还可以使用@Column和其他注解来进一步定制字段的映射。 7...