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 ...
随机推荐
- Winform 实现跨线程以及Timer
https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process.exited?redirectedfrom=MSDN&am ...
- remote: Repository not found. fatal: repository 'https://github.com/***/***.git/' not found
通过命令添加新repository到git hub在执行最后一步命令(如下所示)的时候报错 git push -u origin master error:remote: Repository not ...
- C#将unix时间戳转换成.net的DateTime类型的代码
下面的内容是关于C#将unix时间戳转换成.net的DateTime类型的内容. DateTime epoch = new DateTime(1970,1,1,0,0,0,0, DateTimeKin ...
- sql脚本过大,无法打开的解决方法
打开cmd命令窗口,输入如下命令: sqlcmd -S ipaddress -U user -P password -d dbname -i file 其中,ipaddress是数据库服务器ip,us ...
- Maven 下添加oracle11g的包 报Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0
Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0 原因:Oracle 的ojdbc.jar是收费的,所以maven的中央仓库中没有这个资源,只能通过配 ...
- 用JavaScript制作页面特效
1.Window对象 名称 history:有关客户访问过的URL的信息 location:有关当前URL的信息 screen:有关客户端的屏幕和显示性能的信息 常用方法 prompt():弹出输入框 ...
- Android开发 集成极光推送中的问题
AndroidManifest.xml清单文件报错: cn.jpush.android.service.DataProvider@exported value=(true)报错,解决如下: 根据报错行 ...
- zabbix解决监控图中出现中文乱码问题
首先确定zabbix开启了中文支持功能:登录到zabbix服务器的数据目录下(前面部署的zabbix数据目录是/data/www/zabbix),打开 locales.inc.php文件[root@Z ...
- IntelliJ IDEA插件系列
参考: IntelliJ IDEA插件系列 1. activate-power-mode 和 Power mode II 根据Atom的插件activate-power-mode的效果移植到IDEA上 ...
- java学习--自定义类的实例的大小比较和排序
我们知道Object类有一个equals方法,用于比较两个对象是否相等 我们只要在自定义类中重写了equals方法(若不重写就是比较两个实例的地址,相当于==)就可以用来比较该类的两个实例是否相等 问 ...