mybatis在查询一条数据的时候返回它的主键

场景: 我们在用 insert 语句插入一天语句的时候,希望得到这条数据的主键ID(在主键是自增的情况下),如何来实现了。

以上是要给insert语句, 可以看到新加了一个 <selectKey> 标签,这就是mybatis 实现的方法

时间: 2024-12-18 11:02:42

mybatis在查询一条数据的时候返回它的主键的相关文章

数据库如何查询第二条数据且ID不同

关于数据库如何查询第二条数据且ID不同 在sever 2008数据库中,查询语句为 select * from 表名  或则   select 列名 from 表名 这是查询一个表中所有的数据,那么查询第二语句呢? 开始用“top 2”是可以查询前两条数据的,再根据指定的列名排序,这样想可以 “select top 2 * from 表名 order by 列名 desc”(desc倒序 acs正序), 但是查询出来的为最后两条的数据,可见是先倒序然后查询的头两条.那么倒序是行不通. 正序又有两

数据库已知一条数据的ID,如何查询下条数据且ID不同

数据库已知一条数据的ID,如何查询下条数据且ID不同 首先ID已知一条,假如得到的为“1001”,下条的数据ID有可能相同,有可能不相同,如何查询?如果直接查询 “Select * from 表名 where 列名ID='1001'” 就只能查询本身的一条数据,添加“top 2”,也会只有一条数据.可不可以直接查询该数据以下的数据呢? “Select * from 表名 where 列名ID>'1001' Order By 列名ID” 这样就查询大于gaiID的数据,只要下一条,再加上“top

Mybatis 批量插入多条数据,使用场景:导入多条数据

Mybatis 批量插入多条数据,使用场景:导入多条数据 接口代码: void batchInsertCapacity(@Param("list")List<Map<String, Object>> metadbmaplist); SQL: <insert id="batchInsertCapacity"> insert into index_prodcut ( ID, ORG_ID, TEXT1, TEXT2, TEXT3, P

Mybatis返回插入的主键

在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能 情景一:针对自增主键的表,在插入时不需要主键,而是在插入过程自动获取一个自增的主键,比如MySQL,可以采用如下两种配置方式 <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType=&q

Mybatis批量插入返回自增主键(转)

我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键: 1.对于支持生成自增主键的数据库:useGenerateKeys和keyProperty. 2.不支持生成自增主键的数据库:<selectKey>. 但是怎对批量插入数据返回自增主键的解决方式网上看到的还是比较少,至少百度的结果比较少. Mybatis官网资料提供如下: First, if your database supports auto-generated key fields (e.g. MySQL and SQL

mybatis 关联查询时,从表只返回第一条记录解决办法

如果两表联查,主表和明细表的主键都是id的话,明细表的多条只能查询出来第一条. 造成以上情况可能的原因: 1.级联查询的时候,主表和从表有一样的字段名的时候,在mysql上命令查询是没问题的.但在mybatis中主从表需要为相同字段名设置别名.设置了别名就OK了. 例子: 主表Standard, 从表StandEntity,均有名为id的字段 1 <resultMap id="StandardAndEntityResultMap" type="whu.edu.irlab

mybatis+oracle添加一条数据并返回所添加数据的主键问题

最近做mybatis+oracle项目的时候解决添加一条数据并返回所添加数据的主键问题 controller层 @RequestMapping("/addplan") public @ResponseBody OnlineAddplanWithBLOBs insertOnlineAddplan(OnlineAddplanWithBLOBs plan) throws Exception{ //plan是添加的数据,planid为数据主键,此时对象中主键为null int n = serv

(转)ThinkPHP find方法 查询一条数据记录

find() ThinkPHP find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制. 当确认查询的数据记录只能是一条记录时,建议使用 find() 方法查询,如用户登录账号检测: public function chekUser(){ header("Content-Type:text/html; charset=utf-8"); $Dao = M("User");

mybatis中查询结果为空时不同返回类型对应返回值

今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同类型,查询结果为空时dao接口的返回值是一样的吗?接下来我就总结一下常见的几种情况. 第一种:resultType为基本类型,如string(在此暂且把string归纳为基本类型) 如果select的结果为空,则dao接口返回结果为null 第二种,resultType为基本类型,如int 后台报异