hibernate的理解
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的理解的更多相关文章
- 对Hibernate的理解
---恢复内容开始--- 一.面向对象设计的软件内部运行过程可以理解成就是不断创建各种新对象,建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程.不管程序运行的过程和操作怎么样,本 ...
- hibernate FetchType理解
JPA定义实体之间的关系有如下几种: @OneToOne @ManyToOne @OneToMany @ManyToMany 在定义它们的时候可以通过fetch属性指定加载方式,有两个值: Fetch ...
- hibernate知识点理解
1.只有业务逻辑层出现的问题? 1.切换数据库麻烦 2.sql编写起来麻烦 3.我们的程序员不需要关注数据库,只希望关心业务本身 2.hibernate的好处 1.程序员只关心业务逻辑,使角色更加清楚 ...
- 初识Hibernate之理解持久化类
上一篇文章我们简单介绍了Hibernate相关的一些最基本的文件及其作用,并在最后完整的搭建了Hibernate的运行环境,成功的完成了与数据库的映射.但是至于其中的一些更加细节的地方并没有 ...
- 谈谈你对Hibernate的理解
答: 1. 面向对象设计的软件内部运行过程可以理解成就是在不断创建各种新对象.建立对象之间的关系,调用对象的方法来改变各个对象的状态和对象消亡的过程,不管程序运行的过程和操作怎么样,本质上都是要得到一 ...
- Hibernate基本原理理解
什么是Hibernate? Hibernate,翻译过来是冬眠的意思,正好现在已经进入秋季,世间万物开始准备冬眠了.其实对于对象来说就是持久化. 扫盲------------------------- ...
- 谈谈对hibernate的理解
它是ORM思想的一个实现,对JDBC进行了很好的封装,它通过配置使JavaBean对象和数据库表之间进行映射,并提供对增.删.改.查便利的操作方法,同时支持事务处理,它对数据库记录还提供了缓存机制,提 ...
- Java ssh 框架 hibernate 详细理解
Hibernate框架技术相信对大多数的 java 程序员并不陌生,数据表之间的关系如何通过Hibernate来建立,需要我们认真的分析数据表中数据项之间的交互: 数据库表的之间的关系有: (1)一对 ...
- hibernate 事务理解
简介: Hibernate本身并不具备事务管理能力 .在事务管理层, Hibernate将其委托给底层的JDBC或者JTA ,以实现事务管理和调度功能. Hibernate的默认事务处理机制基于JDB ...
随机推荐
- C语言的“编译、链接”
我们写的代码,仅仅是文本文件(txt),不管后缀怎么变,终究是文本文件,计算机只能显示,不能做事(执行). 文本文件通过“编译.链接”,成为可执行文件(windows下是exe): 编译:生成.o文件 ...
- 最简单打开三星s8+usb调试模式的步骤
就在我们使用安卓手机通过数据线链接到PC的时候,如果手机没有开启usb开发者调试模式,PC则没能够成功读到我们的手机,部分app也没能够正常使用,遇到这个情况我们需要找解决方法将手机的usb开发者调试 ...
- Spring Boot学习大全(入门)
Spring Boot学习(入门) 1.了解Spring boot Spring boot的官网(https://spring.io),我们需要的一些jar包,配置文件都可以在下载.添置书签后,我自己 ...
- Android 开发 Camera类的拍照与录像
前言 在开发Android应用的时候,如果需要调用摄像头拍照或者录像,除了通过Intent调用系统现有相机应用进行拍照录像之外,还可以通过直接调用Camera硬件去去获取摄像头进行拍照录像的操作.本篇 ...
- IntelliJ IDEA 打开项目红色
项目目录红色主要是有版本控制所导致的,解决办法就是解除版本控制 点击File->Settings...->Version Control 项目会重新编译,项目目录红色会消失
- Tesseract-OCR的使用记录
参考: http://www.cnblogs.com/cnlian/p/5765871.html http://www.cnblogs.com/wzben/p/5930538.html 1.下载 Te ...
- js,jquery分别怎么判断页面元素是否存在
1JS判断方法:if(document.getElementById("XXX")){ console.log("存在") } 2Jquery判断方法:if ...
- Python第5天
今日学习的主要内容: 数据类型和变量的总结:(可变:列表,字典)(不可变:字符串,数字,元组) 引出集合概念:不同元素,无序,不可变类型 set方法—>集合 add添加:clear清空:pop删 ...
- Unresolved externa Round
[ilink32 Error] Error: Unresolved external '__stdcall Round(const double, int)' referenced from e:\工 ...
- 新装 Win7 系统装完驱动精灵,一打开到检测界面就卡死——原因与解决方案
1.现象: 重装系统后,鼠标反应慢,且不能上网.因此装了个驱动精灵,准备更新下驱动,但驱动精灵一打开到检测界面就卡死(换驱动人生.鲁大师也一样). 2.原因: Win7 系统 iso 中自带的驱动程序 ...