`

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 Jdbc的jar包

    Spring JDBC的主要目标是简化数据访问,减少直接使用JDBC时的繁琐工作,如手动管理连接、事务和异常处理。在Spring 3.2.0.RELEASE版本中,这个模块得到了进一步的增强和完善。 首先,`spring-jdbc-3.2.0.RELEASE....

    基于SpringJDBC的BaseDAO

    本文将详细介绍如何基于Spring JDBC模块创建一个通用的数据访问对象(BaseDAO)类,实现简单的对象关系映射(ORM)功能,包括增删改查等基本操作。 #### Spring JDBC简介 Spring JDBC是Spring框架的一部分,它简化了...

    spring jdbc 整合

    它们可以自动构建SQL语句,并返回生成的主键或者调用存储过程后的结果。 二、事务管理 Spring JDBC支持声明式和编程式事务管理。声明式事务管理通过配置元数据(如XML或注解)来指定事务边界,而编程式事务管理则...

    jdbc保存对象返回一个主键

    ### JDBC保存对象并返回主键知识点详解 #### 一、背景介绍 在Java开发中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和...

    Spring对JDBC的支持

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

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

    // 插入数据并返回包含主键的实体 @PostMapping("add") @ResponseBody public Employee addEmployee() { Employee employee = new Employee(); employee.setLastName("chen") .setAge(18) .setEmail("10000@...

    spring整合jdbc学习资料

    例如,执行插入操作时,我们可以使用JdbcTemplate的update()方法,它会自动处理预编译的SQL语句,并且如果需要返回主键,可以使用PreparedStatement的RETURN_GENERATED_KEYS标志来获取自增字段的值。 批量处理是...

    SpringData核心数据访问接口--CrudRepository示例代码

    在Spring Boot应用中,Spring Data是一个强大的框架,它极大地简化了数据访问层的实现。 CrudRepository是Spring Data JPA提供的一种核心数据访问接口,用于处理基本的CRUD(创建、读取、更新、删除)操作。这个接口...

    zTree后台组装树结构java代码

    - 插入数据时,根据业务逻辑创建节点对象,然后使用JDBC插入到数据库。 6. **递归算法生成树**: - 为了组装树结构,我们可以用递归方法,将结果集中的每个记录作为根节点或子节点,依据`parent_id`查找其父节点...

    mybatis3.3.1

    这个版本的MyBatis引入了对批量插入和返回主键的支持,这对于大型数据处理场景尤其有用。下面将详细阐述MyBatis 3.3.1中的关键特性和功能。 首先,MyBatis的核心在于它的SQL映射文件,这些XML或注解定义的映射文件...

    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数据库访问之异常处理

    例如,如果在执行插入操作时主键冲突,原生的SQLException会被转换为DataIntegrityViolationException,这样我们就可以根据这个异常类型做出相应的业务处理,比如提示用户数据已存在。 除了JdbcTemplate,Spring还...

    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...

    spring详解3

    不可重复读是指在同一个事务中,两次读取同一数据返回的结果不一致;幻读是指一个事务读取了一段时间的数据后,其他事务插入了新数据,导致原事务再次读取时看到“幻影”。 **2.3 Spring事务管理支持** - **编程式...

    springmybatis

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

    spring mvc mybatis 整合 maven

    - 增:创建一个保存实体的方法,通过Service调用Mapper的insert方法插入数据。 - 删:创建删除方法,根据主键或其他条件调用Mapper的delete方法。 - 改:创建更新方法,获取需要修改的数据,更新后调用Mapper的...

    查询返回Map

    Map提供了快速查找、插入和删除元素的能力,适用于存储关联数据,如数据库查询结果。常见的Map实现有HashMap、TreeMap等。 查询返回Map通常发生在服务器端,例如在Spring MVC或Servlet环境中。开发者会编写一个...

Global site tag (gtag.js) - Google Analytics