首页
学习
活动
专区
圈层
工具
发布

Mybatis使用generatedKey在插入数据时返回自增id始终为1,自增id实际返回到原对象当中的问题排查

今天在使用数据库的时候,遇到一个场景,即在插入数据完成后需要返回此数据对应的自增主键id,但是在使用Mybatis中的generatedKey且确认各项配置均正确无误的情况下,每次插入成功后,返回的都是...1,而不是最新的自增Id。...终于凭借着一次Debugg发现的问题,原来在使用Mabatis中的insert或者insertSelective方式插入时,如使用int insert(TestGenKey testGenKey)时,返回值...int表示的是插入操作受影响的行数,而不是指的自增长id,那么返回的自增id到底去哪里了呢?...通过下面的Debugg我们知道自增id返回到testGenKey的原对象中去了。 举例示范配置 数据库示例表  generator的配置文件 <?

3.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    HTML5的data-*自定义属性

    在HTML5中我们可以使用以data-为前缀来设置我们需要的自定义属性,来进行一些数据的存放。当然高级浏览器下可通过脚本进行定义和数据存取。在项目实践中非常有用。...具体使用方法例下: id = "head" data-home = "http://blog.csdn.net/xmtblog" data-author = "伪专家"> 在传统的做法中我们可以配合...使用这种方法时,不是使用完整的属性名,如data-home来存取数据,应该去掉data-前缀。...还有一点特别注意的是:data-属性名如果包含了连字符,例如:data-date-of-birth ,连字符将被去掉,并转换为驼峰式的命名,前面的属性名转换后应该是:dateOfBirth。...所以在此期间最好用的getAttribute和setAttribute来操作或配合jquery进行使用。 data-属性选择器 在实际开发时,可以根据自定义的data-属性选择相关的元素。

    1.9K41

    求大佬指点!这个图片切换效果怎么实现?

    如果本文对你有帮助,欢迎动动小手指一键三连(点赞、评论、转发),给我一些支持和鼓励,谢谢! 最近一周,接到个需求:要求在小程序中实现图片从底部“长”出来的效果。...在 Web 端很容易实现的效果,到了小程序却完全不是那么回事。...图片切换时,底部位置保持不变。 2. 图片本身要完整显示,不能因为容器高度限制而被裁剪。 3. 图片要在父元素盒子里宽度 100% 显示。 但是!!!这两种方式在小程序中都无法正常工作!...imageElement.src = image1_url; } }); 03 小程序的痛点 在小程序中使用完全相同的实现思路...,却发现: • 图片不会按照父元素宽高自动撑开 • width: 100% 在 image 组件上不起作用 • mode="aspectFit" 会导致图片无法占满宽度 小程序效果对比 具体的代码 <template

    17510

    JavaScript表单验证和正则表达式

    当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。...所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“\(”或“\)”。 (?...:pattern) 非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分时很有用。例如“industr(?...预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。 (?!...注意:只有连字符在字符组内部时,并且出现在两个字符之间时,才能表示字符的范围; 如果出字符组的开头,则只能表示连字符本身. [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。

    2.6K70

    HTML5 data-* 自定义属性

    在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,使用这样的结构可以进行数据存放。...读写方式 id="test" data-age="24"> Click Here 其中的data-age就是一种自定义属性,当然我们也可以通过JavaScript...test.dataset.my = 'Byron'; *使用JavaScript操作dataset有两个需要注意的地方 (1) 我们在添加或读取属性的时候需要去掉前缀data-*,像上面的例子我们没有使用...(2) 如果属性名称中还包含连字符(-),需要转成驼峰命名方式,但如果在CSS中使用选择器,我们需要使用连字符格式 如: [data-birth-date...样式表为div添加了一些样式 读取的时候也是通过dataset对象,使用”.”来获取属性,同样需要去掉data-前缀,连字符需要转化为驼峰命名 如: var test = document.getElementById

    1.2K20

    JavaScript基本入门教程

    7)全局变量和局部变量 全局变量:可以在JavaScript所有脚本代码中使用。...局部变量:只能在方法中起作用,出了方法,就不起作用了,但是,有一点必须注意,那就是在方法中没有代码块的概念,也就是说,在方法的代码块中定义的局部变量,在整个方法中都是可以使用的,不限于在代码块中。...定义变量时使用var和不使用var的区别:如果使用var定义变量,那么程序会强制定义一个新的变量。...window对象是JavaScript的内置对象,使用window对象调用方法时可以省略window不写。...2.获取元素对象的四种方法 在JavaScript中,我们可以通过DOM对象的4种方式获取对应的元素对象: getElementById();   ---通过元素ID获取对应元素对象,可以通过ID获取对应的元素对象

    4.7K20

    教你用 JavaScript 设计一个 Neumorphism 风格的数字时钟 (代码详解)

    在这里,我们将设计数字时钟并添加一些样式以使其更具吸引力。 思路 使用日期对象获取每秒的时间,然后使用我们通过每秒调用相同函数获得的新时间在浏览器上重新渲染时间,并使时钟看起来更有吸引力。...第三步:使用Date对象的方法获取“时”、“分”、“秒”。 第 4 步:根据小时值设置 AM/PM。Date 对象以 24 小时格式工作,因此当它大于 12 时,我们将小时更改回 1。...第 5 步:现在使用相同的 HH:MM:SS 格式创建一个字符串,使用我们从 Date 对象方法获得的值更改小时、分钟和秒值。...第 6 步:现在使用 innerHTML 属性替换“div”中的字符串变量。..."0" + s : s; var time = h + ":" + m + ":" + s + " " + session; 10.使用 DOM 元素在屏幕上显示元素 document.getElementById

    1.3K41

    别再说虚拟 DOM 快了,要被打脸的

    ①字符串方式创建 使用字符串既快速又简单,但在更新方面并不是非常精细。对于字符串,JS部分是它如此之快的原因。您可以在几毫秒内创建一段代表5000个节点的HTML。...当我们运行上面的代码时,原始元素被替换而不是更新,例如,如果用户有焦点的字段,他们将失去焦点。 ②使用 DOM 对象 创建和更新 DOM 树的另一种方法是使用 DOM 对象。...它还有一个优点,即我们能够将它与第三方库(如D3)混合使用,以执行 HTML 字符串不易处理的事情。...在真正的优势,虽然是执行粒度更新现有的树时: const search = document.getElementById(“search”); search.innerHTML =`<input class...value ="bar"; 这次我们结合快速方便的字符串 HTML 方法来创建初始 UI,然后我们使用 DOM 操作方法来更新 value 属性。

    2.1K30

    JS简单页面交互实战 - 点击按钮实现求和功能

    具体的功能描述如下: 用鼠标点击“按钮”时,将两个文本框中输入的数字进行加和运算,并将加和的结果显示在“求和结果”的后面。...input元素的用户体验,使用label元素来扩大聚焦的点击区域,也就是说点击label元素光标会自动聚焦到input元素里面; 在功能描述中“用鼠标点击‘按钮’时”,按钮我们是使用了input类型的按钮...(也可以使用其它按钮); 在功能描述中“加和的结果显示在‘求和结果’的后面”,为了后期JS方便的操作,最终的求和结果显示在em标签里面; 根据功能描述搭建的结构与样式 使用innerHTML属性获取不到表单的内容; 通过value属性获取到的表单内容是属于字符串类型; 对两个文本框中内容进行加和运算 现在已经知道通过value属性获取到的内容是字符串类型...,它就从加法运算的功能变成连字符的功能; 为了保证“+”不受字符串的影响,可以通过parseInt()方法把字符串的内容转成数字,这样就能正常的加法运算; 将加和结果显示在“求和结果”后面 对于获取/设置非表单元素的内容

    19.4K80

    利用 Canvas 实现 Valine 评论画板涂鸦

    评论涂鸦 前几天在 Joe(https://ae.js.cn/)网站上留言的时候发现了一个叫“画图模式”的东西,点进去后自动切换文本框到画板了(类似QQ涂鸦,你画我猜那种画板),然后可以在画板上画画,...id="canvas"> 然后先定位到 class="vctrl" 在 vctrl 内部添加画板控制按钮 <span class="painting-btn" title...('veditor'), //文本框 元素 eraser = document.getElementById('eraser'), //撤销(橡皮擦)按钮 clear = document.getElementById...('clear'), //清屏 按钮 number = document.getElementById('bold'), //粗细 输入框 color = document.getElementById...base64 链接到 valine 文本框时防止字符过长导致的文本框高度问题 } } initCanvas(); //初始化 canvas 参数 draw()

    70710

    AJAX

    AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。...举例: 搜索引擎搜索框输入字符后下边显示可能要搜索的内容; 注册账号是显示昵称是否被使用 AJAX使用步骤 1.创建XMLHTTPRequest对象 2.open打开与服务器的连接 3.向服务器端发送请求...发送信息至服务器时内容编码类型。...这里有json字符串和json对象两个概念 json字符串就是数据交换传输的信息格式,json对象其实是javascript对象的子集 数据传输或转换时,先将原数据转换成json字符串,使用时再将json...数字 (整数或浮点数) 字符串 (在双引号中) 逻辑值 (true 或 false) 数组 (在方括号中) 对象 (在花括号中,引号用双引) null json字符串中的引号都为双引号 js中的JSON.parse

    5.1K20
    领券