emm~这里就是记录一下,hibernate的save,如果存在id,就可以直接save,就会覆盖原有的,如果不存在id就会在数据库创建一条新的记录

package edu.zut.cs.zutnlp.platform.web.toTable;

import edu.zut.cs.zutnlp.platform.base.web.spring.controller.GenericController;
import edu.zut.cs.zutnlp.platform.dao.toTable.domain.Props;
import edu.zut.cs.zutnlp.platform.dao.toTable.domain.TableMessage;
import edu.zut.cs.zutnlp.platform.toTable.PropsManager;
import edu.zut.cs.zutnlp.platform.toTable.TableMessageManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import java.util.ArrayList;
import java.util.List; @Controller
@RequestMapping("/Pros")
public class PropsController extends GenericController<Props,Long,PropsManager> {
PropsManager propsManager; @Autowired
public void setPropsManager(PropsManager propsManager) {
this.propsManager = propsManager;
this.manager=this.propsManager;
}
@Autowired
TableMessageManager tableMessageManager; @RequestMapping(value = "/list")
@ResponseBody
public List<Props> list(){
List<Props> propsList=new ArrayList<Props>();
propsList=this.propsManager.findAll();
return propsList;
} @PostMapping(value = "/add",consumes = {"application/json"},produces = {"application/json"})
@ResponseBody
public Boolean add(@RequestBody Props props,
@RequestParam("TableMessageName") String TableMessageName){
TableMessage tableMessage=this.tableMessageManager.findByTableName(TableMessageName);
if (tableMessage!=null){
props.setTableMessage(tableMessage);
this.propsManager.save(props);
}else {
System.out.println(",表为空,不能建立属性在找到之后返回空");
return false;
}
if(this.propsManager.findByPropsName(props.getPrtysName())!=null) {
return true;
}
return false;
} @ResponseBody
@PostMapping(value = "/delete")
public boolean delete(@RequestParam("PropsName") String PropsName){
Long id=this.propsManager.findByPropsName(PropsName).getId();
if (id==null){
return false;
}else {
this.propsManager.delete(id);
if((this.propsManager.findByPropsName(PropsName)==null)==true){
return true;
}
}
return false;
} @ResponseBody
@PostMapping(value = "/updata",consumes = "application/json")
public boolean updata(@RequestBody Props props,
@RequestParam("PropsName")String PropsName){
if(this.propsManager.findByPropsName(PropsName)==null)
{
return false;
}else {
this.propsManager.updata(props);
return true;
}
}
@ResponseBody
@PostMapping(value = "/check/{PropsName}")
public Props findProps(@PathVariable @RequestParam String PropsName){
if(this.propsManager.findByPropsName(PropsName)!=null){
return this.propsManager.findByPropsName(PropsName);
}
return null;
}
}

hibernate的理解的更多相关文章

  1. 对Hibernate的理解

    ---恢复内容开始--- 一.面向对象设计的软件内部运行过程可以理解成就是不断创建各种新对象,建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程.不管程序运行的过程和操作怎么样,本 ...

  2. hibernate FetchType理解

    JPA定义实体之间的关系有如下几种: @OneToOne @ManyToOne @OneToMany @ManyToMany 在定义它们的时候可以通过fetch属性指定加载方式,有两个值: Fetch ...

  3. hibernate知识点理解

    1.只有业务逻辑层出现的问题? 1.切换数据库麻烦 2.sql编写起来麻烦 3.我们的程序员不需要关注数据库,只希望关心业务本身 2.hibernate的好处 1.程序员只关心业务逻辑,使角色更加清楚 ...

  4. 初识Hibernate之理解持久化类

         上一篇文章我们简单介绍了Hibernate相关的一些最基本的文件及其作用,并在最后完整的搭建了Hibernate的运行环境,成功的完成了与数据库的映射.但是至于其中的一些更加细节的地方并没有 ...

  5. 谈谈你对Hibernate的理解

    答: 1. 面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象.建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程和操作怎么样,本质上都是要得到一 ...

  6. Hibernate基本原理理解

    什么是Hibernate? Hibernate,翻译过来是冬眠的意思,正好现在已经进入秋季,世间万物开始准备冬眠了.其实对于对象来说就是持久化. 扫盲------------------------- ...

  7. 谈谈对hibernate的理解

    它是ORM思想的一个实现,对JDBC进行了很好的封装,它通过配置使JavaBean对象和数据库表之间进行映射,并提供对增.删.改.查便利的操作方法,同时支持事务处理,它对数据库记录还提供了缓存机制,提 ...

  8. Java ssh 框架 hibernate 详细理解

    Hibernate框架技术相信对大多数的 java 程序员并不陌生,数据表之间的关系如何通过Hibernate来建立,需要我们认真的分析数据表中数据项之间的交互: 数据库表的之间的关系有: (1)一对 ...

  9. hibernate 事务理解

    简介: Hibernate本身并不具备事务管理能力 .在事务管理层, Hibernate将其委托给底层的JDBC或者JTA ,以实现事务管理和调度功能. Hibernate的默认事务处理机制基于JDB ...

随机推荐

  1. Linux配置虚拟内存

    我的Linux内存很少,所以我给它弄个虚拟内存 首先建立一个1G的空文件: dd if=/dev/zero of=/home/swapfile bs=64M count=16 格式化为swap: mk ...

  2. RN-环境配置

    良好的开端是成功的一半,这是window平台安装步骤 首先配置JDK1.8  配置JAVA_HOME环境变量 然后安装Android Studio3.2 然后安装react-native-cli np ...

  3. Java——String类中的compareTo方法总结

    String类的定义:    java.lang  类 String   java.lang.Object      java.lang.String 所有已实现的接口:Serializable, C ...

  4. GC的过程

    哪些内存需要GC 判断对象是否还存活 引用计数法 给对象中添加一个引用计数器,每当一个地方引用它时,计数器值就加1:当引用失效时,计数器的值就减1,任何时候计数器为0的对象就是不可能再被使用的. 微软 ...

  5. 利用IDM工具下载ESA上的Sentinel数据

    由于美国政府关门,NASA,USGS,NOAA等机构中的非核心部门也都放假了,暂时无法提供Sentinel数据下载,而直接从ESA下载数据比蜗牛上山都慢,幸好发现了IDM工具. 利用浏览器或wget工 ...

  6. 设计CUBE by kylin

    1.新增或者选择一个已有项目(project)后,将hive数据导入到kylin中,web界面的Model→Data source,导入数据 2.创建数据模型,数据模型是Cube的基础,它主要用于描述 ...

  7. Echarts属性大全(及时更新最新信息)

    echarts属性的设置(完整大全)   // 全图默认背景  // backgroundColor: ‘rgba(0,0,0,0)’, // 默认色板 color: ['#ff7f50','#87c ...

  8. python xlrd xlwt

    1.什么是xlrd模块? 2.为什么使用xlrd模块? 3.怎样使用xlrd模块? 1.什么是xlrd模块? ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel, ...

  9. Faiss in python and GPU报错:NotImplementedError: Wrong number or type of arguments for overloaded function 'new_GpuIndexFlatL2'.

    最近在玩faiss,运行这段代码的时候报错了: res = faiss.StandardGpuResources()flat_config = 0index = faiss.GpuIndexFlatL ...

  10. Python OS模块,和Open函数

    https://www.cnblogs.com/ginvip/p/6439679.html