`

springJdbc 插入数据返回主键

 
阅读更多
public long addMsg(final SysMessage sysMessage){
		final String sql = "INSERT INTO sys_message (title,send_time,type,kugouIds,is_send) values(?,?,?,?,?) ";
//		jdbc.update(sql, sysMessage.getTitle(),sysMessage.getSendTime(),sysMessage.getType(), sysMessage.getKugouIds(),sysMessage.getIsSend() );
		KeyHolder keyHolder = new GeneratedKeyHolder();
		jdbc.update(new PreparedStatementCreator(){
		                   @Override
		                   public PreparedStatement createPreparedStatement(Connection conn) throws SQLException{
		                        PreparedStatement ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
		                        ps.setString(1, sysMessage.getTitle());
		                        ps.setTimestamp(2, new Timestamp(sysMessage.getSendTime().getTime()));
		                        ps.setInt(3, sysMessage.getType());
		                        ps.setString(4, sysMessage.getKugouIds());
		                        ps.setInt(5, sysMessage.getIsSend());

		                        return ps;
		                    }
		                },
		                keyHolder);
		long msgId = keyHolder.getKey().longValue();
		return msgId;
	}

 使用org.springframework.jdbc.support.KeyHolder的getKey()方法

分享到:
评论

相关推荐

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

    10.7.2 Spring JDBC数据连接泄漏 10.7.3 通过DataSourceUtils获取数据连接 10.7.4 通过DataSourceUtils获取数据连接 10.7.5 JdbcTemplate如何做到对连接泄漏的免疫 10.7.6 使用TransactionAwareDataSourceProxy 10.7...

    spring-data-ebean:用于Spring数据的Ebean实现,简化了创建基于Ebean的数据访问层的开发。超简单,超强大的ORM框架,OQL,SQL,ES多查询引擎,超越JPA,Hibernate,Mybatis

    保存新的单个实体并返回主键 批量插入相同类型的多个实体并返回生成的密钥 更新单个现有实体-一次更新实体的所有字段 获取多对一关系(部门公司) 获取一对多关系(公司部门) 更新实体一对多关系(公司部门)-...

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

    10.7.2 Spring JDBC数据连接泄漏 10.7.3 通过DataSourceUtils获取数据连接 10.7.4 通过DataSourceUtils获取数据连接 10.7.5 JdbcTemplate如何做到对连接泄漏的免疫 10.7.6 使用TransactionAwareDataSourceProxy 10.7...

    springmybatis

    创建用户表,并插入一条测试数据 程序代码 程序代码 Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` ...

    Spring API

    11.5.1. 使用SimpleJdbcInsert插入数据 11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键 11.5.3. 指定SimpleJdbcInsert所使用的字段 11.5.4. 使用SqlParameterSource提供参数值 11.5.5. 使用SimpleJdbcCall...

    Spring中文帮助文档

    11.5.1. 使用SimpleJdbcInsert插入数据 11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键 11.5.3. 指定SimpleJdbcInsert所使用的字段 11.5.4. 使用SqlParameterSource提供参数值 11.5.5. 使用SimpleJdbcCall...

    java面试题

    答:标识是为了方便和简介映射文件,主键是为了让数据不会重复。 为什么每次请求都要创建一个Action对象? 答:Struts2每次请求的时候都会创建一个action实例,这样会保证线程的安全。Struts1只是在第一次请求的...

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

    由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...

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

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

    JdbcTemplateTool.zip

    创建一张表employee插入一些测试数据.DROP TABLE IF EXISTS `employee`; CREATE TABLE `employee` (  `id` int(11) NOT NULL,  `name` varchar(300) NOT NULL,  `join_date` datetime NOT NULL,...

Global site tag (gtag.js) - Google Analytics