jdbctemplate update(jdbcTemplate必须使用spring事务吗 否则不能提交)
本文目录
- jdbcTemplate必须使用spring事务吗 否则不能提交
- spring jdbcTemplate 执行update更新后怎样返回更新的记录主键
- jdbctemplate的update没commit
- JdbcTemplate中execute和update的区别
- getJdbcTemplate中execute和update的区别
jdbcTemplate必须使用spring事务吗 否则不能提交
说明数据库执行了一条SQL语句,没有事务控就spring就不会提交,update不成功是正常的,你的那个异常在没有spring事务的控制下是不影响sql执行的。 而且增删改本身就必须有事务,jdbc默认是自动提交事务,用了spring事务后由spring提交,配置了事务后,有没有事务对你都没影响,除非你不对数据库进行操作,如果不操作,你把方法名改了就好,如果要操作又想不用事务,那是不可能的。
spring jdbcTemplate 执行update更新后怎样返回更新的记录主键
KeyHolder keyHolder = new GeneratedKeyHolder();jdbcTemplate.update( new PreparedStatementCreator(){ @Override public PreparedStatement createPreparedStatement(Connection conn) throws SQLException{ PreparedStatement ps = conn.prepareStatement(SQL_ADD, new String {}); ps = conn.prepareStatement(YOUR_SQL_SCRIPT, Statement.RETURN_GENERATED_KEYS); ps.setString(1, "TEST"); ps.setInt(2, 1); //... return ps; } }, keyHolder);return keyHolder.getKey().intValue();
jdbctemplate的update没commit
首先要进入系统设置,找到模式设置,然后选择使用自动模式确认以后就可以进行自动提交
JdbcTemplate中execute和update的区别
execute()可以执行任何SQL语句,甚至是"create table..."update()只能执行数据表增删改这样的操作
getJdbcTemplate中execute和update的区别
PreparedStatement接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。 1、方法executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法是 executeQuery。这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。 2、方法executeUpdate 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。 使用executeUpdate方法是因为在 createTableCoffees 中的 SQL 语句是 DDL (数据定义语言)语句。创建表,改变表,删除表都是 DDL 语句的例子,要用 executeUpdate 方法来执行。你也可以从它的名字里看出,方法 executeUpdate 也被用于执行更新表 SQL 语句。实际上,相对于创建表来说,executeUpdate 用于更新表的时间更多,因为表只需要创建一次,但经常被更新。 3、 方法execute: 用于执行返回多个结果集、多个更新计数或二者组合的语句。也可用于执行 INSERT、UPDATE 或 DELETE 语句。 用法举例:1、增加、修改、删除都用execute(),也可用executeUpdate(),针对于INSERT、UPDATE 或 DELETE 语句 public int addAirEnvironmentPresent(M_AirEnviromentPresentDTO airDTO){ int index = 1; String sql = "insert into airPresent(airForecastPlace,ForecastTime,TSPvalue,remark) values(?,?,?,?)"; try { ps = conn.prepareStatement(sql); ps.setString(index++, airDTO.getAirForecastPlace()); ps.setString(index++, airDTO.getForecastTime()); ps.setString(index++, airDTO.getTSPvalue()); ps.setString(index++, airDTO.getRemark()); ps.execute(); } catch (SQLException e) { e.printStackTrace(); } return 1; }2、查询调用executeQuery(),针对于SELECT语句public ArrayList getAirEnvironmentPresentAll(){ ArrayList list = new ArrayList(); String sql = "select * from airPresent"; try { ps = conn.prepareStatement(sql); rs = ps.executeQuery(); while(rs.next()){ dto = new M_AirEnviromentPresentDTO(); dto.setId(rs.getInt("id")); dto.setAirForecastPlace(rs.getString("airForecastPlace")); dto.setForecastTime(rs.getString("forecastTime")); dto.setTSPvalue(rs.getString("tspvalue")); dto.setRemark(rs.getString("remark")); list.add(dto); } } catch (SQLException e) { e.printStackTrace();
更多文章:
如何将网易博客搬家到QQ空间?如何把一个新浪博客搬家到另一个新浪博客
2023年5月5日 23:40
吉尼斯世界纪录的弹球游戏叫什么?快手小游戏“弹球大战”怎么玩
2024年7月24日 10:34
virtual judge怎么改中文(virtualbox虚拟机多国语言版安装后为什么是英文的,在设置里也无法修改成中文的)
2024年6月27日 12:32
comexception(c# 未处理COMException)
2024年8月2日 18:35
系统架构类型(信息系统具有哪些结构详细论述信息系统的功能结构和软件结构)
2024年6月25日 12:24
spring文档(Spring源码解析(一)- 容器的基本实现)
2024年5月14日 02:23
java权限管理框架有哪些(在项目中使用Spring Security进行权限控制)
2024年6月11日 20:39
十大unity游戏(unity 游戏 一般有不能超过多少个顶点)
2024年7月9日 11:10
安装sql server2012详细(win7安装sqlserver2012报 0x84bb0001)
2024年4月8日 23:10