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 ...
随机推荐
- android 中activity重启的方法
private void reLoadActivity(){ Intent intent = new Intent(context, SettingsActivity.class); intent.s ...
- mybatis逆向工程没有报错,但是也没有pojo和Mapper文件问题
如果你使用的逆向工程是自己手写上去的配置文件,那么错误的范围就太大了.如果是你导入以前使用过的逆向工程,那么没有生成文件很可能是使用的操作系统不同. 原因:逆向工程中的路径问题,windows和mac ...
- (转)SQLServer分区表操作
原文地址:https://www.cnblogs.com/libingql/p/4087598.html 1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一 ...
- Selenium自动化Chrome浏览器 在windows下窗口最大化
本人由于是搞自动化时间不长,所以踩了很多坑.准备把踩得这些坑记录下来. 自动化测试最基础的就是打开浏览器然后让Windows窗口最大化. 一开始百度了好多窗口最大化的方法,最常用的是: WebDriv ...
- Flink安装部署
官网:https://ci.apache.org/projects/flink/flink-docs-release-1.7/ops/deployment/cluster_setup.html cd ...
- python-封装方法用于读取excel
1.实现获取excel某张表的行数.单元格数据 #coding=utf-8 import xlrd #获取excel文件 data = xlrd.open_workbook('file_path/xx ...
- java 基础排序算法
冒泡: 从左往右依次比较相邻的两个数,将小数放在前面,大数放在后面. public void bobSort(){ for(int i=0;i<length-1;i++){//排序 ...
- C语言列出真分数序列代码及解析
问题描述 按递增顺序依次列出所有分母为60,分子小于60的最简分数. 问题分析 分子.分母只有公因数1的分数叫做最简分数或者说分子和分母是互质数的分数,叫做最简分数,又称既约分数,如2/3,8/9,3 ...
- 优于 swagger 的 java markdown 文档自动生成框架-01-入门使用
设计初衷 节约时间 Java 文档一直是一个大问题. 很多项目不写文档,即使写文档,对于开发人员来说也是非常痛苦的. 不写文档的缺点自不用多少,手动写文档的缺点也显而易见: 非常浪费时间,而且会出错. ...
- Python实现多线程调用GDAL执行正射校正
python实现多线程参考http://www.runoob.com/python/python-multithreading.html #!/usr/bin/env python # coding: ...