ibatis插入数据库时返回主键(sqlserver数据库)
来源:互联网 发布:天籁之战 知乎 编辑:程序博客网 时间:2024/05/05 05:13
ibatis插入数据后立即返回主键值,sqlserver数据库,一开始采用如下:
<insert id="insertEvalutionComment" parameterClass="com.dt.jxhd.domain.evalution_teacher_comment"> insert into evalution_comment (grade, comment) values (#grade:VARCHAR#, #comment:VARCHAR#) <selectKey resultClass="int" keyProperty="id" > select SCOPE_IDENTITY() as id </selectKey></insert>SELECT SCOPE_IDENTITY()会报错,报如下错误:
[java.sql.PreparedStatement]-[DEBUG] {pstm-100073} PreparedStatement: insert into evalution_comment (grade, comment) values (?, ?) [java.sql.PreparedStatement]-[DEBUG] {pstm-100073} Parameters: [10, 20000][java.sql.PreparedStatement]-[DEBUG] {pstm-100073} Types: [java.lang.String, java.lang.String][java.sql.PreparedStatement]-[DEBUG] {pstm-100074} PreparedStatement: SELECT SCOPE_IDENTITY() as id [java.sql.PreparedStatement]-[DEBUG] {pstm-100074} Parameters: [][java.sql.PreparedStatement]-[DEBUG] {pstm-100074} Types: [][java.sql.ResultSet]-[DEBUG] {rset-100075} ResultSet[java.sql.ResultSet]-[DEBUG] {rset-100075} Header: [id][java.sql.ResultSet]-[DEBUG] {rset-100075} Result: [0][org.apache.struts2.dispatcher.Dispatcher]-[ERROR] Could not find action or resultNo result defined for action com.dt.jxhd.action.PjglAction and result Exception - action - file:/D:/Program%20Files/Apache%20Software%20Foundation/Tomcat%208.0/webapps/jxhd/WEB-INF/classes/strutsConfig.xml:549:86
后来换成“SELECT @@IDENTITY AS ID”
<insert id="insertEvalutionComment" parameterClass="com.dt.jxhd.domain.evalution_teacher_comment"> insert into evalution_comment (grade, comment) values (#grade:VARCHAR#, #comment:VARCHAR#) <selectKey resultClass="int" keyProperty="id" > SELECT @@IDENTITY AS ID </selectKey> </insert>java代码是:
return ((Integer)getSqlMapClientTemplate().insert("evalution_comment.insertEvalutionComment",t_teacher_comment)).intValue();测试可以通过
打印日志:
[java.sql.PreparedStatement]-[DEBUG] {pstm-100025} PreparedStatement: insert into evalution_comment (grade, comment) values (?, ?) [java.sql.PreparedStatement]-[DEBUG] {pstm-100025} Parameters: [10, 该生难教][java.sql.PreparedStatement]-[DEBUG] {pstm-100025} Types: [java.lang.String, java.lang.String][java.sql.PreparedStatement]-[DEBUG] {pstm-100026} PreparedStatement: SELECT @@IDENTITY AS ID [java.sql.PreparedStatement]-[DEBUG] {pstm-100026} Parameters: [][java.sql.PreparedStatement]-[DEBUG] {pstm-100026} Types: [][java.sql.ResultSet]-[DEBUG] {rset-100027} ResultSet[java.sql.ResultSet]-[DEBUG] {rset-100027} Header: [ID][java.sql.ResultSet]-[DEBUG] {rset-100027} Result: [43]
0 0
- ibatis插入数据库时返回主键(sqlserver数据库)
- 数据库插入返回主键
- mybatis和ibatis插入oracle数据库并返回主键id
- 数据库插入数据返回主键
- ibatis插入返回主键
- 数据库插入记录并返回主键
- 数据库 插入输入返回主键key
- Java MyBatis 插入数据库返回主键
- Java MyBatis 插入数据库返回主键
- ibatis 如何利用自增主键插入数据库
- ibatis 如何利用自增主键插入数据库
- ibatis有不同数据库插入自增主键
- ibatis 插入数据主键依赖数据库自增长方式
- ibatis 如何利用自增主键插入数据库
- ibatis连接insert到mysql数据库主键自动返回
- Java MyBatis 插入数据库返回主键 总返回行数
- 使用ibatis向数据库中插入数据时的主键处理
- ibatis返回插入后的主键值
- jquery获取select值
- Android Bander设计与实现 - 设计篇
- 使用/dev/mem内存映射的方式操作GPIO口
- Android动态加载入坑指南
- Java基础--JDK1.8新特性-Lamda
- ibatis插入数据库时返回主键(sqlserver数据库)
- javascript 倒计时
- STM32的GPIO的复用功能和重映射功能
- 洛谷1341 无序字母对 欧拉路
- spark 2.0 RpcCallCopntext和NettyRpcCallContext
- 反射和ASM区别
- Python之使用adb shell命令启动应用
- C++primer5th模拟vector之StrVec类
- getServletContext().getRealPath("/")