修复DapperExtension做Insert对象主键为Guid时不能赋值的问题

最新的dapperExtension有个bug,就是当做Insert操作的时候,实体的主键类型为GUID的时候,会自动生产一个新的GUID替换原来的GUID,使得使用者在Insert的时候不能在外部指定主键的值。Github上已经有人修复了这个问题并且pull request上去了,但是作者不知为何至今没有合并。所以只能下载下来自己改了。

Do not generate Guid id when one is passed in #75

修改见上面的链接或见下图:

时间: 2024-08-10 06:47:50

修复DapperExtension做Insert对象主键为Guid时不能赋值的问题的相关文章

MyBatis insert返回主键(sqlserver2008)

mybatis insert返回主键(sqlserver2008) MyBatisXML配置,下面两种方式都行 方式1: <insert id="insert" parameterType="com.user.model.User" > <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >

Mybatis框架(9)---Mybatis自定义插件生成雪花ID做为表主键项目

Mybatis自定义插件生成雪花ID做为主键项目 先附上项目项目GitHub地址 spring-boot-mybatis-interceptor 有关Mybatis雪花ID主键插件前面写了两篇博客作为该项目落地的铺垫. 1.Mybatis框架---Mybatis插件原理 2.java算法---静态内部类实现雪花算法 该插件项目可以直接运用于实际开发中,作为分布式数据库表主键ID使用. 一.项目概述 1.项目背景 在生成表主键ID时,我们可以考虑主键自增 或者 UUID,但它们都有很明显的缺点 主

Mybatis Insert 返回主键ID

<insert id="insert" useGeneratedKeys="true" keyProperty="u_Id" parameterType="User" > insert into User ... </insert> 其中 ①.useGeneratedKeys:是否生成主键 ②.keyProperty:实体类对应的ID属性 sql执行完毕后,user对象里的id就会自动赋值

MyBatis insert 返回主键的方法

数据库:SqlServer2005,表结构: /*==============================================================*/ /* Table: Dic_City                                              */ /*==============================================================*/ create table Dic_City (   

Mybatis insert 返回主键

@Override protected int insert(Card record) { int result = cardMapper.insertSelective(record); return (int) (result == 1 ? record.getId() : result); } 之前以为 result就是insert record的主键id. 测试的时候发现,每次都返回 1. 后来google才发现 主键id set到 record指定的(id)字段上了. http://s

hibernate 对象主键为string

当对象映射表主键要求为varchar2类型时,hibernate主键生成策略就不能为native,因为sequence自动生成的值为int,会报 Unknown integral data type for ids : java.lang.String这个错误可以使用uuid进行解决 当然也可以改变为assigned,然后在程序中调用sequence中的数据进行保存 最后,如果主键为整型,那么直接使用native配置sequence就可以了

mybatis执行insert返回主键

第一种方式(推介): <!-- 所有数据库通用,插入成功返回最近一次插入的id它会将id直接赋值到对应的实体当中TStudent stu = new TStudent(); studentMapper.add(TStudent ); int pk = stu.getId(); // 这就是我们的主键id --> <insert id="add" parameterType="TStudent" useGeneratedKeys="true

mybatis的insert返回主键

Java代码   <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.model.OperationBookList" > insert into operation_book_list (id, name, introduce, category, state, up_date, stop_date, do

IBatisNet Insert返回主键ID

MS SqlServer: 1 <insert id="Insert" parameterClass="Person"> 2 insert into PERSON 3 (PER_FIRST_NAME, PER_LAST_NAME, 4 PER_BIRTH_DATE, PER_WEIGHT_KG, PER_HEIGHT_M) 5 values 6 ( #FirstName#, #LastName#, 7 #BirthDate#, #WeightInKilo