当前位置:首页>焦点 > 正文

Spring JPA之save方法示例详解|天天微速讯

  • 2023-04-28 06:11:11来源:脚本之家
目录
一、save(单条添加)源码service 层control层二、saveAll(批量添加)源码servicecontrol层

一、save(单条添加)

源码

@Transactional
@Override
public  S save(S entity) {
   Assert.notNull(entity, "Entity must not be null.");
   if (entityInformation.isNew(entity)) {
      em.persist(entity);
      return entity;
   } else {
      return em.merge(entity);
   }
}

由代码可知,它是先去判断了entity是否为new:


【资料图】

如果是new,就执行save方法;

如果非new,则执行update方法。这就是jpa为啥只有save接口没有update接口的原因吧!

此时我们应该有个疑惑:怎么样才算new呢?继续往下看:

/**
 * Must be {@link Transient} in order to ensure that no JPA provider complains because of a missing setter.
 *
 * @see org.springframework.data.domain.Persistable#isNew()
 */
@Transient // DATAJPA-622
@Override
public boolean isNew() {
   return null == getId();
}

恍然大悟,原来他是去看 entity的id(实体类的主键)是否存在:不存在就是new。(通俗易懂,很好理解)

service 层

添加 save方法(save是三方件自带接口不需要再dao层中添加)

@Transactional
public User save(User user) {
    return userDao.save(user);
}

control层

/**
 * 单条数据保存
 * @param id 自增的,可以不填
 * @param name
 * @param age
 * @return
 */
@GetMapping("/save")
public User save(Integer id,String name, Integer age){
	User user = new User();
	user.setId(id);
	user.setName(name);
	user.setAge(age);
	return userService.save(user);
}

浏览器测试OKhttp://localhost:7777/save?id=1&name=lili&age=18

测试id存在的情况OKhttp://localhost:7777/save?id=1&name=毛毛&age=20

二、saveAll(批量添加)

源码

/*
 * (non-Javadoc)
 * @see org.springframework.data.jpa.repository.JpaRepository#save(java.lang.Iterable)
 */
@Transactional
@Override
public  List saveAll(Iterable entities) {
   Assert.notNull(entities, "Entities must not be null!");
   List result = new ArrayList<>();
   for (S entity : entities) {
      result.add(save(entity));
   }
   return result;
}

一目了然,saveAll其实就是传入entity的集合,然后遍历进行save操作

service

添加 saveAll方法(saveAll是三方件自带接口不需要再dao层中添加)

@Transactional
public  List saveAll(Iterable entities) {
	return userDao.saveAll(entities);
}

control层

/**
 * 批量保存数据
 * @param ids 
 * @param names
 * @param ages
 * @return
 */
@GetMapping("/saveAll")
public List saveAll(int[] ids,String[] names,Integer[] ages){
    List list = new ArrayList<>();
    for(int i=0; i

浏览器测试OKhttp://localhost:7777/saveAll?ids=2,3&names=丁丁,壮壮&ages=13,14

注: 如果在实体类中的id上添加注解@GeneratedValue(strategy = GenerationType.IDENTITY),可以给id增加自增属性,这样我们就无需再传入id了

以上就是Spring JPA之save方法示例详解的详细内容,更多关于Spring JPA save方法详解的资料请关注脚本之家其它相关文章!

标签:

延伸阅读

推荐阅读

Spring JPA之save方法示例详解|天天微速讯

这篇文章主要为大家介绍了SpringJPA之save方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,

热点聚焦:羞答答的玫瑰粤语_羞答答

1、歌名-山茶花歌手-赵鹏专辑-再低音一次山茶花你说他的家开满山茶花每当那春天三月乡野如图画村里姑娘上山

天天视讯!长春公交线路查询299路车路线图 长春公交线路查询

今天来聊聊关于长春公交线路查询299路车路线图,长春公交线路查询的文章,现在就为大家来简单介绍下长春公

滚动:Sky·光遇 国服(4月28日)每日任务-季节蜡烛点

今日任务任务先祖-鼓掌云野三塔图云野三塔图(左侧岛)和陌生人一起坐在长凳上和陌生人一起坐在任意图的长

德州公路武城分中心召开“五一”期间安全生产暨廉政工作部署会

大众网记者武红鹏通讯员马金忠德州报道为进一步强化干部队伍作风建设,保障节日期间国省干线公路运行安全平

职工困难补助申请书范文_职工困难补助申请书

1、尊敬的(**单位)领导:我叫(XXX),是XXX岗位的一名职工。2、由于患有强直性脊柱炎,这是一种需要终身吃药

环球今亮点!2021最后一天朋友圈文案句子 2021最后一天朋友圈文案句子图片

1、深情从来都只有被辜负,只有薄情才会被记住。2、再见了,2020年!你好,2021年!没实力的愤怒毫无意义。3

扪心自问造句_扪心自问

1、“扪心自问”的意思是:摸着胸口,自己问自己怎么样。2、指自己反省。3、扪心自问,读音[ménxīnzìwèn

世界新资讯:美国会众院通过债务上限法案 共和党欲先发制人施压拜登谈判

美国会众院通过债务上限法案 共和党欲先发制人施压拜登谈判海洋美国共和党人把持的国会众议院26日以区区两

【世界说】“敲错门”枪击事件频发 美媒批美国扭曲的枪支文化:即便没受威胁,也要“先开枪”

【世界说】“敲错门”枪击事件频发美媒批美国扭曲的枪支文化:即便没受威胁,也要“先开枪”

世界快资讯丨内蒙古电力集团:今年一季度最大供电负荷达3625万千瓦

内蒙古电力集团:今年一季度最大供电负荷达3625万千瓦,今年一季度,集团公司销售电量672 43亿千瓦时,同比

焦点信息:2023年招警考试、辅警招聘、法检招聘人数汇总(4月27日)

2023年招警考试、辅警招聘、法检招聘人数汇总(4月27日)

五一假期,九巴城巴加强来往港深口岸路线服务

​九巴表示,为迎接通关后首个五 一黄金周,九巴来往香园围口岸至屯门的B9线,将加开两天平日服务,生效日

杉杉股份:一季度净利同比下降29.05%-全球观速讯

杉杉股份公告,一季度净利润5 73亿元,同比下降29 05%;受行业环境变化影响,权益法核算的巴斯夫杉杉电池

每日热议!嚣张巫哲txt免费下载(嚣张巫哲txt)

1、你好,我是大鱼儿不吐泡泡,用百度网盘分享给你。2、点开就可以保存,链接永久有效^_^1,链接:提取码:jc

《哆啦A梦:大雄与天空的理想乡》全新天空冒险 欢乐正式启航-天天播资讯

天空大冒险,出发!今日,《哆啦A梦》电影系列最新作品《哆啦A梦:大雄与天空的理想乡》曝光先导预告及先导

【数字中国建设有“福气”】数字化搭建新场景 福建如何用浑身解“数” 挖掘消费动能?|当前速讯

这几天,在福州的重点商圈——东街口,处处洋溢着数字生活的气息,在数字中国建设峰会前夕,鼓楼区启动了“

焦点速讯:佛医保怎样买 佛医保投保流程介绍

佛医保怎样买佛医保投保流程介绍社保网小编整理了最新资讯。佛医保是佛山地区推出的一款专属普惠型补充医疗

《碟中谍7》曝剧照定档7.14 汤姆·克鲁斯飙摩托 全球观点

1905电影网讯《碟中谍7:致命清算(上)》公布全新剧照。在剧照上,主演汤姆克鲁斯似乎正在展开逃亡。他跨

用“骨感”震撼你!医学生的手绘图不简单

近日,杭州医学院临床医学院“骨像手绘”大赛作品正在校园里展出,充满哲理色彩和人文气息的素描骨绘作品让

原神丰饶之海成就完成方法指南_天天速读

有许多原神玩家不知道原神丰饶之海成就完成方法指南,接下来将由第一资讯网小编收集的《原神丰饶之海成就完

伊拉克战后基础设施损毁 巴格达交通拥堵严重

2003年,美军攻入伊拉克首都巴格达,使这个曾经繁华的城市遭受沉重打击。伊拉克当地的一份研究报告表明,巴

错怪你了邻居!女子意外翻到电瓶车里的钱和纸条 全球焦点

错怪你了邻居!女子意外翻到半年前藏在电瓶车里的钱和纸条近日,六盘水一女子意外翻到了藏在电瓶车里的一张

日产逍客有什么颜色 逍客有什么颜色?

日产逍客可以选择珍珠白、炫目红、月光银、火花金、琥珀金、玛瑙红、碧玉黑、象牙白、梦幻银、菲利普灰、时

AMD自适应和嵌入式产品技术日再约姑苏城-天天日报

时间:2023年5月30日地点:苏州“同超越,共成就”AMD 携手我们众多合作伙伴,诚邀您参与5月30日,在美丽

与复旦大学等高校共建合作,临港加快打造文旅产业引才聚才“强磁场” 全球新资讯

校企合作,加强人才引入和培养发展,增强城市综合竞争力,4月26日,临港新片区举办2023年“商旅临距离”暨

5月PS+会免游戏容量大小公布:最多需要77GB 热讯

今天,PlayStation公布了5月PS+会免游戏的容量大小,感兴趣的玩家可以提前做好准备预留出空间。本次会免持

汤臣倍健领涨已达10%,创业板ETF(159915)今日成交额已达4.23亿元 |新视野

资料显示,创业板指由深圳证券交易所创业板中市值大、流动性好的100只股票组成,以综合反映创业板市场的整

和前任分手了 发现怀孕了要打掉男方不支付打胎费_今日报

和前任分手了 发现怀孕了要打掉男方不支付打胎费

特稿 | 警察武装成军人 台名嘴:让台湾走向战争

对于民进党当局被爆有意扩编“警政署”保安警察,并将实施多项军事训练,拟规划为“第二陆军”,台湾“中广

猜您喜欢

    Copyright ©  2015-2022 现在服装网版权所有  备案号:粤ICP备18023326号-5   联系邮箱:855 729 8@qq.com