ApplicationMapper.xml:
<insert id="save" parameterType="cn.nec.po.ApplicationPO" useGeneratedKeys="true"
keyProperty="id" >
INSERT INTO T_Application (dining_type_id, applicant_id, apply_date,
apply_remarks, approver_id, state_flag, create_date, del_flag
) VALUES (#{diningTypeId}, #{applicantId}, #{applyDate}, #{applyRemarks},
#{approverId}, 0, getDate(), 0)
</insert>
环境:struts2-core-2.2.1.jar + org.springframework.core-3.0.5.RELEASE.jar + mybatis-3.0.6.jar;
1、连接SQL Server 2005时:
驱动包为sqljdbc4.jar时,插入后的对象中,自动返回了自增主键"id"的值。完全正常。
2、连接SQL Server 2000时:
驱动包为sqljdbc4.jar时,Mapper.xml直接报“不支持”语法错误。无论怎么配置sql参数,都无法取到自增的主键ID。
经调查发现:MyBatis与SQL Server 2000驱动包sqljdbc4.jar存在兼容问题,故有些功能不予支持。
3、修改方法:将驱动包替换为第三方驱动 jtds-1.2.5.jar 即可。(驱动官网:http://jtds.sourceforge.net/)
### 数据库配置 ###
jdbc.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.url=jdbc:jtds:sqlserver://172.28.76.18:1433;DatabaseName=otma
jdbc.username=********
jdbc.password=********
分享到:
相关推荐
在MyBatis中,处理自增主键是一个常见的需求,特别是在Oracle和MySQL这两个数据库中。Oracle通常使用Sequence来生成自增主键,而MySQL则直接通过表定义的自增属性来处理。以下将详细讲解这两种数据库在MyBatis中的...
Mybatis插入数据返回的自增主键会自动设置为插入对象的属性值,因此我们可以通过获取对象的属性获得自增的主键。 1、通过xml配置获取自增主键 xml配置 select last_insert_id() insert into sys_user(username,...
在MyBatis这个流行的Java持久层框架中,处理自增主键的值通常涉及到插入数据后如何获取新生成的ID。下面将详细阐述MyBatis如何实现这一功能。 1. **自增主键的原理**: 自增主键通常在关系型数据库如MySQL、...
在XML映射文件中的`<insert>`标签中,你可以设置`useGeneratedKeys="true"`来指示MyBatis在执行插入操作后获取自增主键。同时,你需要指定`keyProperty`,将其设置为你实体类中对应主键属性的名称。例如: ```xml ...
Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例 Mybatis 是一个基于 Java 的持久层框架,它提供了对数据库的访问和操作的功能。今天,我们将分享一个关于 Mybatis 插入一条或批量插入 返回带有自增长...
在使用MyBatis Plus (MP) 进行数据操作时,有时可能会遇到插入数据后无法获取自增主键的情况。本文将深入分析这个问题,并提供解决方案。 首先,MyBatis Plus 是 MyBatis 的一个扩展库,它提供了很多方便的数据操作...
**关于MyBatis插入数据的常见问题** 在实现插入数据并返回主键时,可能会遇到这样一个陷阱:在自定义插入方法时,如果错误地返回了SqlSession的自增ID,而不是正确地通过实体类传递,可能会导致看似插入成功但实际...
在MyBatis中,可以通过在`<insert>`标签中添加`useGeneratedKeys="true"`和`keyProperty`属性来自动获取并填充插入语句后返回的自增ID值。 **示例代码:** ```xml <insert id="insert" parameterType=...
当在Mybatis的XML映射文件中配置一个插入语句时,设置`useGeneratedKeys="true"`指示Mybatis在执行插入操作后,调用JDBC的`getGeneratedKeys`方法来获取由数据库生成的自增主键。例如: ```xml <insert id=...
本文将详细讲解如何在MyBatis中利用MySQL的自增主键功能,以便在插入新记录后获取生成的唯一ID。 首先,我们要明白MySQL中的自增主键。自增主键是一种特殊的字段类型(通常是`INT`),每当插入新的记录时,其值会...
当执行插入操作后,MyBatis 会自动将数据库生成的主键值填充到插入对象的 `id` 属性中。在 Java 代码中,我们可以直接访问这个属性来获取新插入记录的 ID,如下所示: ```java @Override public int insert...
在使用MyBatis进行数据库操作时,有时我们需要在插入数据后获取自动生成的主键ID,这在处理自增主键的场景下尤其常见。在MySQL数据库中,自增主键通常用于标识每条记录的独特性,而在插入新记录后,数据库会自动为这...
在MybatisPlus中,插入数据并获取主键值是一个常见的需求,特别是在需要自增主键或者生成唯一ID的情况下。以下是对这个主题的详细阐述: 首先,我们需要了解MybatisPlus中的插入数据操作。在MybatisPlus中,可以...
总的来说,当使用MyBatis操作支持主键自增的数据库时,正确配置映射文件并利用`useGeneratedKeys`和`keyProperty`属性,可以方便地获取并利用自增主键。这样不仅可以简化开发工作,还能确保数据的一致性和完整性。在...
综上所述,MyBatis的高级映射和动态SQL功能使我们能够更灵活、高效地处理数据库操作,而获取自增主键的能力则有助于简化数据插入后的处理流程。通过熟练掌握这些特性,开发者可以写出更加优雅、高效的代码。
Mybatis自定义插件生成...通过拦截器拦截Mybatis的insert语句,通过自定义注解获取到主键,并为该主键赋值雪花ID,插入数据库中。 2、技术架构 项目总体技术选型 SpringBoot2.1.7 + Mybatis + Maven3.5.4 + Mysql + lom
这里的`idType`属性设置为0,表示使用数据库自增策略,这与Oracle Sequence的使用相符合。 总结来说,要在MyBatis-Plus中利用Oracle Sequence生成主键,需完成数据库Sequence的创建、项目配置(包括JDBC驱动、数据...
但是,如果我们使用`useGeneratedKeys`属性,插入成功后,`UserDomain`实体类的`userId`属性将被赋值为具体的主键id值。 使用MyBatis插入数据返回主键的功能可以帮助我们更方便地实现数据的持久化操作。