package com.aaa.zxf.service;

import com.aaa.zxf.mapper.BookMapper;
import com.aaa.zxf.model.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 注意 所有service层 必须做业务逻辑的处理,
* 不允许直接返回 mapper 所查询出的结果。
*
*/
import java.util.HashMap;
import java.util.List;
import java.util.Map; @Service //添加 service 注解。
public class BookService { @Autowired // 自动注入
private BookMapper bookMapper; /**
* 获得所有的图书信息
* @return
*/
// map的返回 结果方式。 简单的业务逻辑。
public Map<String,Object> selectAllBooks(){
Map<String, Object> resultMap=new HashMap<String,Object>();
List<Book> bookList = bookMapper.selectAllBooks();
if (bookList.size()>0){
//查询到了数据 可以在上面定义一个map
resultMap.put("code",200);
resultMap.put("result",bookList);
}else {
// 没有查到数据
resultMap.put("code",404);
}
return resultMap;
} /**
* 根据id 删除图书信息。
* 逻辑判断 ?...
* @param id
*/
public void deleteBook(Long id){
int i = bookMapper.deleteBook(id); } /**
* 根据id获得book信息
* @param id
* @return
*/
public Map getOneBook(long id){
Map<String, Object> resultMap=new HashMap<String,Object>();
Book oneBook = bookMapper.getOneBook(id); if (oneBook!=null){
//查询到了数据 可以在上面定义一个map
resultMap.put("code",200);
resultMap.put("result",oneBook);
}else {
// 没有查到数据
resultMap.put("code",404);
}
return resultMap;
} /**
* 更新的操作
* @param book
* @return
*/
public int updataBook(Book book){
int i = bookMapper.updateBook(book);
return i;
} /**
* 录入的方法
* @param book
* @return
*/
public Map<String,Object> insertBook(Book book){
Map<String, Object> resultMap=new HashMap<String,Object>();
int i = bookMapper.insertBook(book);
if (i>0){
resultMap.put("code",200);
resultMap.put("result",i);
}else {
resultMap.put("code",404);
}
return resultMap;
} }

service层 必须做业务逻辑的处理的更多相关文章

  1. django使用类做业务逻辑

    在django中一般定义一个带有request参数的函数用来处理url,但是更推荐用类做 从django.views.generic.base 导入的views有get,post等各种函数,用来处理对 ...

  2. 深入理解--SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用

    SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保持一致 ...

  3. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(4)-业务逻辑层的封装

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(4)-业务逻辑层的封装 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2) ...

  4. 9.1.3 .net framework通过业务逻辑层自动生成WebApi的做法

    首先需要说明的是这是.net framework的一个组件,而不是针对.net core的.目前工作比较忙,因此.net core的转换正在编写过程中,有了实现会第一时间贴出来. 接下来进入正题.对于 ...

  5. HL AsySocket 服务开发框架 - 业务逻辑层

    一 概述 Socket服务只是提供一个网络传输服务. 业务逻辑层在整体架构中的位置在那里呢,如图: 网络层将解包后的消息包抛至业务逻辑层,业务逻辑层收到消息包后,解析消息类型,然后转入相应的处理流程处 ...

  6. 谈谈service层在mvc框架中的意义和职责

    mvc框架由model,view,controller组成,执行流程一般是:在controller访问model获取数据,通过view渲染页面. mvc模式是web开发中的基础模式,采用的是分层设计, ...

  7. 浅谈MVC中的service层(转)

    概述 mvc框架由model,view,controller组成,执行流程一般是:在controller访问model获取数据,通过view渲染页面. mvc模式是web开发中的基础模式,采用的是分层 ...

  8. Java Web学习总结(30)——Service层在MVC框架中的意义和职责

    mvc框架由model,view,controller组成,执行流程一般是:在controller访问model获取数据,通过view渲染页面. mvc模式是web开发中的基础模式,采用的是分层设计, ...

  9. Service层在MVC框架中的意义和职责

    https://blog.csdn.net/u012562943/article/details/53462157 mvc框架由model,view,controller组成,执行流程一般是:在con ...

随机推荐

  1. 【LeetCode】6. ZigZag Conversion Z 字形变换

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 公众号:负雪明烛 本文关键词:字形变换,ZigZag,题解,Leetcode, 力扣,P ...

  2. D. Persistent Bookcase(Codeforces Round #368 (Div. 2))

    D. Persistent Bookcase time limit per test 2 seconds memory limit per test 512 megabytes input stand ...

  3. Kronecker Products and Stack Operator

    目录 定义 Stack Operator Kronecker Product 性质 Stack Operator Kronecker Product 半线性 Whitcomb L. Notes on ...

  4. A Simple Framework for Contrastive Learning of Visual Representations

    目录 概 主要内容 流程 projection head g constractive loss augmentation other 代码 Chen T., Kornblith S., Norouz ...

  5. JZOJ5405 & AtCoder Grand Contest 001 F. Permutation

    题目大意 给出一个长度为\(n\)的排列\(P\)与一个正整数\(k\). 你需要进行如下操作任意次, 使得排列\(P\)的字典序尽量小. 对于两个满足\(|i-j|>=k\) 且\(|P_i- ...

  6. 集合不安全之 ArrayList及其三种解决方案【CopyOnWriteArrayList 、synchronizedList、Vector 】

    @ 目录 一.前言 二.为什么线程不安全 三.解决方案一CopyOnWriteArrayList (推荐,读多写少场景) 四.Collections.synchronizedList(加锁) 五.Ve ...

  7. nignx-防盗链

    环境 主机                  IP            角色 centos6.5-1       192.168.3.10      源主机 centos6.5-2       19 ...

  8. python自动化测试框架的unittest与pytest前后置条件的区别

    前言: 笔者先试有用过unittest的前后置条件和pytest的前后置条件,觉得pytest的前后置条件比unittest的要简洁.方便很多.不过在使用unittest的前后置条件时,已经觉得在和每 ...

  9. linux 之 nginx安装步骤

    配置规划 用户 lzh 用户目录  /lzh 下载 进入官网下载nginx http://nginx.org/download/ 安装 解压 cd /lzh/app tar -zxvf nginx-1 ...

  10. js 模块化 -- 基本的导出与引入class模块

    1.目录结构 2.类语法与导出 class food { } //定义常量 let c = "苹果"; //正确的函数写法 food.prototype.getfood = fun ...