获取插入postgresql后返回的自增id
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jeesite.modules.abs.dao.AssetDao"><select id="getData" parameterType="com.jeesite.modules.abs.entity.Asset"resultType="com.jeesite.modules.abs.entity.Asset">select id, asset_number, asset_namefrom abs.abs_assetwhere id = #{id}</select><insert id="insertData" parameterType="java.util.HashMap"><selectKey resultType="java.lang.Integer" keyProperty="fid"order="AFTER">select currval('abs.abs_asset_seq'::regclass) AS fid</selectKey>insert into abs.abs_asset (asset_number,asset_name)values (#{assetNumber},#{assetName})</insert><insert id="insertData2" parameterType="java.util.HashMap"><selectKey resultType="java.lang.Integer" keyProperty="fid"order="AFTER">select nextval('abs.abs_asset_seq'::regclass) AS fid</selectKey></insert></mapper>
package com.jeesite.modules.abs.entity;public class Asset {private Integer id;private String assetNumber;private String assetName;public Integer getId() {return this.id;}public void setId(Integer id) {this.id = id;}public String getAssetNumber() {return this.assetNumber;}public void setAssetNumber(String assetNumber) {this.assetNumber = assetNumber;}public String getAssetName() {return this.assetName;}public void setAssetName(String assetName) {this.assetName = assetName;}
}
package com.jeesite.modules.abs.dao;import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.abs.entity.Asset;import java.util.HashMap;@MyBatisDao(dataSourceName="ds3")
public interface AssetDao extends CrudDao<Asset> {Asset getData(Asset asset);Integer insertData (HashMap hashMap);Integer insertData2 (HashMap hashMap);}
Service
package com.jeesite.modules.abs.service;import com.alibaba.fastjson.JSON;
import com.jeesite.modules.abs.dao.AssetDao;
import com.jeesite.modules.abs.entity.Asset;
import com.jeesite.modules.cms.dao.ArticleDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;@Slf4j
@Service
public class AssetService {@Autowiredprivate AssetDao assetDao;@Autowiredprivate ArticleDao articleDao;public Asset getData(Asset asset) {return assetDao.getData(asset);}List<String> list = new ArrayList<>();public String createData(Asset asset) {HashMap<String, Object> hashMap = new HashMap<>();hashMap.put("assetNumber", asset.getAssetNumber());hashMap.put("assetName", asset.getAssetName());Integer t = assetDao.insertData(hashMap);log.info("1111111111111创建当前数据时生成的自增主键" + hashMap.get("fid"));log.info("2222222222222受影响的行数:" + t); //return hashMap.get("fid").toString();}public String createData2(Asset asset) {HashMap<String, Object> hashMap = new HashMap<>();hashMap.put("assetNumber", asset.getAssetNumber());hashMap.put("assetName", asset.getAssetName());Integer t = assetDao.insertData2(hashMap);for (int i = 0; i < 200; i++) {execute(asset);}log.error("创建当前数据时生成的自增主键----111111--" + JSON.toJSONString(list));return hashMap.get("fid").toString();}public void execute(Asset asset) {HashMap<String, Object> hashMap3 = new HashMap<>();hashMap3.put("assetNumber", asset.getAssetNumber());hashMap3.put("assetName", asset.getAssetName());Integer t3 = assetDao.insertData2(hashMap3);list.add(hashMap3.get("fid").toString());}
}
Controller
package com.jeesite.modules.abs.web;import com.jeesite.common.config.Global;
import com.jeesite.common.web.BaseController;
import com.jeesite.modules.abs.entity.Asset;
import com.jeesite.modules.abs.service.AssetService;import lombok.extern.slf4j.Slf4j;
import org.apache.commons.math3.optim.nonlinear.scalar.GoalType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.ArrayList;
import java.util.List;@Slf4j
@Controller
@RequestMapping(value = "${adminPath}/abs/asset")
public class AssetController extends BaseController {@Autowiredprivate AssetService assetService;@RequestMapping(value = "getData")@ResponseBodypublic List<Asset> getData(@RequestParam Integer id, @RequestParam String assetNumber) {log.warn("1111111111----id--" + id + ",--------assetNumber----" + assetNumber);Asset asset = new Asset();asset.setAssetNumber(assetNumber);asset.setId(id);List list = new ArrayList();list.add(assetService.getData(asset));return list;}@PostMapping(value = "createData")@ResponseBodypublic String addData(@Validated Asset asset) {return renderResult(Global.TRUE, assetService.createData(asset));}@PostMapping(value = "createData2")@ResponseBodypublic String addData2(@Validated Asset asset) {return renderResult(Global.TRUE, assetService.createData2(asset));}
}
建表语句
-- abs.abs_asset definition-- Drop table-- DROP TABLE abs.abs_asset;CREATE TABLE abs.abs_asset (id int4 NOT NULL,asset_number varchar NULL,asset_name varchar NULL
);
获取插入postgresql后返回的自增id相关推荐
- mysql 插入数据后返回该条数据id
问题: 在做关联表插入操作时,需要根据主表的 主键id作详情表的属性值,最笨的方法就是,先插入主表,然后通过查询返回刚刚插入的 主键id,容易出现问题. 解决办法: 在mybatis的配置文件中,用k ...
- mybatis插入数据后返回自增主键ID详解
1.场景介绍: 开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中.我们熟知的mybatis在插入数据后 ...
- mysql c接口返回自增id_详解mysql插入数据后返回自增ID的七种方法
引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...
- mysql 新增返回主键自增id_详解mysql插入数据后返回自增ID的七种方法
引言 mysql 和 oracle 插入的时候有一个很大的区别是: oracle 支持序列做 id: mysql 本身有一个列可以做自增长字段. mysql 在插入一条数据后,如何能获得到这个自增 i ...
- 使用SQL Server 获取插入记录后的自增ID(自动编号)
http://www.jb51.net/article/39029.htm 本篇文章是对使用SQL Server获取插入记录后的ID(自动编号)的方法进行了详细的分析介绍,需要的朋友参考下 最近在开发 ...
- 七种MYSQL插入数据后返回自增主键ID的方法
我们都知道,mysql中的insert插入之后会有返回值,返回的是影响的行数,也就是说,成功插入一条数据之后返回的是1,失败则返回0.那么,很多时候我们都想要得到最后插入的id值,下面七种方法均可,结 ...
- mysql插入数据后返回自增id
mysql插入数据后返回自增id 使用<insert 中的useGeneratedKeys 和 keyProperty 两个属性 在Mybatis Mapper文件中添加属性 useGenera ...
- 使用SQL Server 获取插入记录后的ID(自动编号)
使用SQL Server 获取插入记录后的ID(自动编号) jingxian 本篇文章是对使用SQL Server获取插入记录后的ID(自动编号)的方法进行了详细的分析介绍,需要的朋友参考下 最近在开 ...
- Mybatis 插入数据后返回自增主键ID
1 xml 映射文件中处理 在映射器中配置获取记录主键值 在xml中 insert 标签中定义 : useGeneratedKeys为true,用来设置返回主键id的值, keyProperty 代表 ...
- mysql 插入数据后返回当前的自增ID方法
存储过程的写法: mysql>create procedure test( ->in username varchar(50), ->in password varchar(50), ...
最新文章
- 用Python偷偷告诉你十一假期8亿人都去哪儿浪?
- 关于一个简易的实时内存监控系统的思维导图
- 【RAC】使用一条“ps”命令获取Linux环境下全部RAC集群进程信息
- linux后台运行和关闭、查看后台任务
- “90后”变“韭零后”,大数据告诉你谁是基民主力军?
- 2018.3,GC可控了
- kafka的分区策略(partition assignment strategy)
- 鹅厂后台开发工程师的工作日常
- pig---用户自定义函数(UDF)
- 「小程序JAVA实战」小程序 loading 提示框与页面跳转(37)
- DeFi信用合作社Xend Finance将于今日23时通过Balancer LBP开启公募
- linux磁盘fio压力测试,fio命令 – 对磁盘进行压力测试和验证
- ES5 对象的扩展(Object.preventExtensions)、密封(Object.seal)和冻结(Object.freeze)
- 灰度图像加性噪声污染和运动模糊图像复原
- 数据结构 图论02 十字链表详解 代码
- html5 表单 重置,css修改input表单默认样式重置与自定义大全
- 戴尔灵越系列服务器是什么,戴尔灵越系列哪个好-2021戴尔灵越系列型号选购推荐...
- 关于Microsoft Store无法更新的解决方案
- Java--敲重点!JDK1.8 HashMap特性及底层数组+单链表+红黑树知识(建议收藏)
- 13-ZF标志位,JB和JNB跳转指令
热门文章
- 液基薄层细胞 宫颈细胞学计算机诊断,液基薄层细胞制片技术与宫颈细胞学诊断.pdf...
- 三国杀神吕蒙涉猎平均能上几张牌?
- 涉性侵人员就业被限制,中国版《梅根法案》何时到来?
- 自学51单片机 - 动态数码管实验
- MongoDB调研笔记
- 如何使用okhttp访问百度三方API-频道新闻API_易源
- Error Code: 1064. You have an error in your SQL syntax;
- Object Cloning
- DOM操作介绍整理(整合资料)
- Vector 高性能日志收集工具