SpringDataJpa增删改查
资料来源网址:http://www.cnblogs.com/hawell/p/SpringDataJpa.html
Repository(几个常用的例子)
@Repository
public interface StormManageRepository extends JpaRepository<StormManage, Long> { //根据id删除StormManage
@Query(value = "delete from bdsp_storm_manage where id=?1 ", nativeQuery = true)
@Modifying
public void deleteStormManageById(int id); //根据id获取数据源
@Query(value = "select * from bdsp_storm_manage where id=?1 ", nativeQuery = true)
public StormManage findStormManageById(int id); //修改Storm的state的状态
@Query(value = "update bdsp_storm_manage sm set sm.state=?1 where sm.id=?2 ", nativeQuery = true)
@Modifying
public void updateStormManageState(int state,int id); //根据id获取数据源
@Query(value = "select * from bdsp_storm_manage where enter_topic=?1 ", nativeQuery = true)
public List<StormManage> findStormManageByEnterTopic(int enterTopic); }
service层几个例子
@Service
@Transactional
public class StormManageService {
@Resource
private StormManageRepository stormManageRepository; /**
* 存储StormManage管理(直接调用save方法,如果想修改的话,需要传一个id)
* */
public StormManage saveStormManage(StormManage stormManage){
StormManage sm=stormManageRepository.save(stormManage);
return sm;
} /**
* 分页查询
* */
public Page<StormManage> queryStormBy(Map<String, Object> searchParams, Pageable pageable) {
Page<StormManage> queryStormBy = null;
try {
Map<String, SearchFilter> filters = SearchFilter.parse(searchParams);
Specification<StormManage> spec = DynamicSpecifications.bySearchFilter(filters.values());
queryStormBy = stormManageRepository.findAll(spec, pageable);
} catch (Exception e) {
e.printStackTrace();
}
return queryStormBy;
} /**
* 根据id删除StormManage
* */
public void deleteStormManageById(int id){
stormManageRepository.deleteStormManageById(id);
} }
Controller层(主要是分页查询)
@RequestMapping("/toStormJsp")
public String toStormJsp(HttpServletRequest request, Model model,@ModelAttribute("id") String id,HttpSession session) {
try{
Map<String, Object> searchParams = new HashMap<String, Object>();
StreamUser user=(StreamUser)session.getAttribute("user");
String superuser=user.getSuperuser();//superuser 0:normal 1:super
if(superuser.equals("1")){
searchParams.put("EQ_userName", "");
}else{
searchParams.put("EQ_userName",user.getUserName());
}
Page<StormManage> stormManages = stormManageService.queryStormBy(searchParams, null);
List<StormManage> findStormManage = new ArrayList<StormManage>();
for (StormManage dm : stormManages) {
findStormManage.add(dm);
}
int page = 0;
Sort sort = new Sort(Sort.Direction.DESC, "operateTime");//按时间排序
Pageable pager =new PageRequest(page, pageSize,sort);
Page<StormManage> page2 = stormManageService.queryStormBy(searchParams, pager);
List<StormManageDto> pageList = new ArrayList<StormManageDto>();
for (StormManage dm : page2 ) {
pageList .add(dm);
}
int totalRecord=pageList.size();
int maxResult=10;
int totalPage = totalRecord % maxResult == 0 ? totalRecord / maxResult : totalRecord / maxResult + 1 ;
model.addAttribute("totalPage", totalPage);
model.addAttribute("totalList",totalRecord);
model.addAttribute("ipage",page+1);
}catch (Exception e){
e.printStackTrace();
logger.info(e.getMessage());
}
return "storm/storm";
}
SpringDataJpa增删改查的更多相关文章
- sssp-springmvc+spring+spring-data-jpa增删改查
环境:IDE:eclipse.jdk1.7.mysql5.7.maven 项目结构图 上面目录结构你可以自己创建 搭建框架 首先加入maven依赖包以及相关插件 <dependencies> ...
- spring-data-rest的魔力 10分钟实现增删改查
目录 创建项目 启动项目 添加person 查看person 及 person 列表 条件查询 分页查询 controller 去哪里了 自定义 spring-data-rest 魔力之外的contr ...
- 上手spring boot项目(三)之spring boot整合mybatis进行增删改查
使用mybatis框架进行增删改查大致有两种基础方式,一种扩展方式.两种基础方式分别是使用xml映射文件和使用方法注解.扩展方式是使用mybatis-plus的方式,其用法类似于spring-data ...
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...
- 通过Java代码实现对数据库的数据进行操作:增删改查
在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao xingming xue ...
- Hibernate全套增删改查+分页
1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...
- 使用 Json.Net 对Json文本进行 增删改查
JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...
随机推荐
- spring boot 知识点1
spring boot: 1. 可以在pom文件中添加依赖sping-boot-properties-migrator来对项目进行升级,升级完成后,删除即可. 2. 关于日志的配置,参考:http:/ ...
- angular js实现开关效果
功能:实现点击排序,再点击排倒序. 实现方法如下 方法一:定义变量实现点击切换true或false,代码为: $scope.lidata = [ {"name ...
- C和C#两种方式实现邮件的简单接收
本文的主要内容是通过两种方式实现简单邮件的接收,一种方式是通过C语言实现,另一种是通过C#实现的, 两种方式在实现上有许多的不同之处,但是本质上都是一样的. 一,C语言实现方式 C语言接收邮件的步骤: ...
- linux命令详解(一)
linux命令 在使用linux环境进行工作和学习中,我们更多时间是手指在键盘上跳动.这里,我们就来说linux命令使用吧在linux环境中,显然不能记下所有的命令及其使用规则,那么这时,man,he ...
- 设计模式--门面模式C++实现
门面模式C++实现 1定义facade 要求一个子系统的外部接口与其内部的通信必须通过一个统一的接口进行.门面模式提供一个高层次的接口,使得子系统更容易视同 注:门面模式注重统一对象,也就是提供一个访 ...
- Light oj 1379 -- 最短路
In Dhaka there are too many vehicles. So, the result is well known, yes, traffic jam. So, mostly peo ...
- SPOJ 694 && SPOJ 705 (不重复子串个数:后缀数组)
题意 给定一个字符串,求它的所有不重复子串的个数 思路 一个字符串的子串都必然是它的某个后缀的前缀.对于每一个sa[i]后缀,它的起始位置sa[i],那么它最多能得到该后缀长度个子串(n-sa[i]个 ...
- Python不同版本切换
2016年6月8日更新: 这是我早前写的一篇小文章,其实,后来也没有采用这种方法切换.电脑上安装了多个Python 版本,保证自己经常用的版本加入环境变量外,使用非系统的版本时一般使用 IDE 编辑器 ...
- laravel中composer镜像服务的方式
系统全局配置:即将配置信息添加到Composer的全局配置文件config.json中. 单个项目配置:将配置信息添加到某个项目的composer.json文件中. 例1:修改Composer的全局配 ...
- .Net使用Redis详解之ServiceStack.Redis(7)
Net使用Redis详解之ServiceStack.Redis(七) 序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现,其中 ...