Java实训日志06

文章目录

  • 八、项目开发实现步骤
    • (八)创建服务接口
      • 1、创建学校服务接口
      • 2、创建状态服务接口
      • 3、创建学生服务接口
      • 4、创建用户服务接口
    • (九)创建服务接口实现类
      • 1、创建学校服务接口实现类
      • 2、创建状态服务接口实现类
      • 3、创建学生服务接口实现类
      • 4、创建用户服务接口实现类

八、项目开发实现步骤

(八)创建服务接口

  • 服务接口调用数据访问接口,可以添加必要的业务逻辑,而服务接口被控制层调用,获取数据传递给视图层显示。
  • net.huawei.student根包里创建service子包
    在这里插入图片描述

1、创建学校服务接口

  • net.huawei.student.service包里创建CollegeService接口
    在这里插入图片描述
package net.huawei.student.service;

import net.huawei.student.bean.College;

/**
 * 功能:学校服务接口
 * 作者:华卫
 * 日期:2023年06月16日
 */
public interface CollegeService {
    College findCollegeById(int id); // 按标识符查询学校记录
    int updateCollege(College college); // 更新学校记录
}

2、创建状态服务接口

  • net.huawei.student.service包里创建StatusService接口
    在这里插入图片描述
package net.huawei.student.service;

import net.huawei.student.bean.Status;

/**
 * 功能:状态服务接口
 * 作者:华卫
 * 日期:2023年06月16日
 */
public interface StatusService {
    Status findStatusById(int id); // 按标识符查询状态记录
    int updateStatus(Status status); // 更新状态记录
}

3、创建学生服务接口

  • net.huawei.student.service包里创建StudentService接口
    在这里插入图片描述
package net.huawei.student.service;

import net.huawei.student.bean.Student;

import java.util.List;
import java.util.Vector;

/**
 * 功能:学生服务接口
 * 作者:华卫
 * 日期:2023年06月16日
 */
public interface StudentService {
    int addStudent(Student student); // 添加学生记录
    int deleteStudentById(String id); // 按标识符删除学生记录
    int deleteStudentsByClass(String clazz); // 按班级删除学生记录
    int deleteStudentsByDepartment(String department); // 按系部删除学生记录
    int updateStudent(Student student); // 更新学生记录
    Student findStudentById(String id); // 按标识符查询学生记录
    List<Student> findStudentsByName(String name); // 按姓名查询学生记录
    List<Student> findStudentsByClass(String clazz); // 按班级查询学生记录
    List<Student> findStudentsByDepartment(String department); // 按系部查询学生记录
    List<Student> findAllStudents(); // 查询全部学生记录
    Vector findRowsBySex(); // 按性别统计人数
    Vector findRowsByClass(); // 按班级统计人数
    Vector findRowsByDepartment(); // 按系部统计人数
}

4、创建用户服务接口

  • net.huawei.student.service包里创建UserService接口
    在这里插入图片描述
package net.huawei.student.service;

import net.huawei.student.bean.User;

import java.util.List;

/**
 * 功能:用户服务接口
 * 作者:华卫
 * 日期:2023年06月16日
 */
public interface UserService {
    int addUser(User user); // 添加用户记录
    int deleteUserById(int id); // 按标识符删除用户记录
    int updateUser(User user); // 更新用户记录
    User findUserById(int id); // 按标识符查询用户记录
    List<User> findAllUsers(); // 查询全部用户记录
    User login(String username, String password); // 登录方法
    boolean isUsernameExisted(String username); // 用户名是否存在
}

(九)创建服务接口实现类

  • net.huawei.student.service包里创建impl子包
    在这里插入图片描述

1、创建学校服务接口实现类

  • net.huawei.student.service.impl包里创建CollegeServiceImpl
    在这里插入图片描述
  • 实现CollegeService接口,空实现所有抽象方法
    在这里插入图片描述
package net.huawei.student.service.impl;

import net.huawei.student.bean.College;
import net.huawei.student.dao.CollegeDao;
import net.huawei.student.dao.impl.CollegeDaoImpl;
import net.huawei.student.service.CollegeService;

/**
 * 功能:学校服务接口实现类
 * 作者:华卫
 * 日期:2023年06月16日
 */
public class CollegeServiceImpl implements CollegeService {

    private CollegeDao collegeDao = new CollegeDaoImpl();

    @Override
    public College findCollegeById(int id) {        
        return collegeDao.findById(id);
    }

    @Override
    public int updateCollege(College college) {
        return collegeDao.update(college);
    }
}

2、创建状态服务接口实现类

  • net.huawei.student.service.impl包里创建StatusServiceImpl
    在这里插入图片描述
  • 实现StatusService接口,空实现所有抽象方法
    在这里插入图片描述
package net.huawei.student.service.impl;

import net.huawei.student.bean.Status;
import net.huawei.student.dao.StatusDao;
import net.huawei.student.dao.impl.StatusDaoImpl;
import net.huawei.student.service.StatusService;

/**
 * 功能:状态服务接口实现类
 * 作者:华卫
 * 日期:2023年06月16日
 */
public class StatusServiceImpl implements StatusService {
    
    private StatusDao statusDao = new StatusDaoImpl();

    @Override
    public Status findStatusById(int id) {
        return statusDao.findById(id);
    }

    @Override
    public int updateStatus(Status status) {
        return statusDao.update(status);
    }
}

3、创建学生服务接口实现类

  • net.huawei.student.service.impl包里创建StudentServiceImpl
    在这里插入图片描述
  • 实现StudentService接口,空实现所有抽象方法
    在这里插入图片描述
package net.huawei.student.service.impl;

import net.huawei.student.bean.Student;
import net.huawei.student.dao.StudentDao;
import net.huawei.student.dao.impl.StudentDaoImpl;
import net.huawei.student.service.StudentService;

import java.util.List;
import java.util.Vector;

/**
 * 功能:学生服务接口实现类
 * 作者:华卫
 * 日期:2023年06月16日
 */
public class StudentServiceImpl implements StudentService {
    
    private StudentDao studentDao = new StudentDaoImpl();
    
    @Override
    public int addStudent(Student student) {
        return studentDao.insert(student);
    }

    @Override
    public int deleteStudentById(String id) {
        return studentDao.deleteById(id);
    }

    @Override
    public int deleteStudentsByClass(String clazz) {
        return studentDao.deleteByClass(clazz);
    }

    @Override
    public int deleteStudentsByDepartment(String department) {
        return studentDao.deleteByDepartment(department);
    }

    @Override
    public int updateStudent(Student student) {
        return studentDao.update(student);
    }

    @Override
    public Student findStudentById(String id) {
        return studentDao.findById(id);
    }

    @Override
    public List<Student> findStudentsByName(String name) {
        return studentDao.findByName(name);
    }

    @Override
    public List<Student> findStudentsByClass(String clazz) {
        return studentDao.findByClass(clazz);
    }

    @Override
    public List<Student> findStudentsByDepartment(String department) {
        return studentDao.findByDepartment(department);
    }

    @Override
    public List<Student> findAllStudents() {
        return studentDao.findAll();
    }

    @Override
    public Vector findRowsBySex() {
        return studentDao.findRowsBySex();
    }

    @Override
    public Vector findRowsByClass() {
        return studentDao.findRowsByClass();
    }

    @Override
    public Vector findRowsByDepartment() {
        return studentDao.findRowsByDepartment();
    }
}

4、创建用户服务接口实现类

  • net.huawei.student.service.impl包里创建UserServiceImpl
    在这里插入图片描述
  • 实现UserService接口,空实现所有抽象方法
    在这里插入图片描述
package net.huawei.student.service.impl;

import net.huawei.student.bean.User;
import net.huawei.student.dao.UserDao;
import net.huawei.student.dao.impl.UserDaoImpl;
import net.huawei.student.service.UserService;

import java.util.List;

/**
 * 功能:用户服务接口实现类
 * 作者:华卫
 * 日期:2023年06月16日
 */
public class UserServiceImpl implements UserService {
    
    private UserDao userDao = new UserDaoImpl();
    
    @Override
    public int addUser(User user) {
        return userDao.insert(user);
    }

    @Override
    public int deleteUserById(int id) {
        return userDao.deleteById(id);
    }

    @Override
    public int updateUser(User user) {
        return userDao.update(user);
    }

    @Override
    public User findUserById(int id) {
        return userDao.findById(id);
    }

    @Override
    public List<User> findAllUsers() {
        return userDao.findAll();
    }

    @Override
    public User login(String username, String password) {
        return userDao.login(username, password);
    }

    @Override
    public boolean isUsernameExisted(String username) {
        return userDao.isUsernameExisted(username);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/30303.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】4.工具:读取ini配置信息

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍读取ini配置信息。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路&…

百度沈抖:大模型 产业智能化时代的新引擎

6月9日&#xff0c;2023 NAVIGATE领航者峰会在杭州举办&#xff0c;聚焦数字经济新政策、新技术、新业态带来的蓬勃机遇&#xff0c;探讨ICT行业在AIGC时代将要面临的全新挑战与应对策略。百度集团执行副总裁、百度智能云事业群总裁沈抖出席大会并作题为《大模型 产业智能化时代…

Elastic 8.8 版引入了全新的 Learned Sparse Encoder 模型,并宣布正式推出合成监测

作者&#xff1a;Brian Bergholm 2023年5月25日 今天&#xff0c;我们非常高兴地宣布 Elastic 8.8 版正式发布。 新增功能 Elastic 企业搜索可帮助开发人员利用 Elasticsearch 实现强大的现代搜索和发现体验。 请在 “Elastic 企业搜索亮点” 博文或 8.8 版发行说明中&#…

信息量、熵、联合熵、条件熵、相对熵、交叉熵、JS散度、Wasserstein距离

信息量 I ( x i ) l o g 1 P ( x i ) − l o g P ( x i ) I(x_i)log \frac {1}{P(x_i)}-logP(x_i) I(xi​)logP(xi​)1​−logP(xi​) 信息量&#xff08;self-information&#xff09;&#xff0c;又译为信息本体&#xff0c;由克劳德 香农&#xff08;Claude Shannon&…

小白也能玩转Docker:应用部署、迁移与备份

目录 1、应用部署 1.1、Mysql 1.2、Ngixn 1.3、Redis 1.4、RabbitMQ 1.5、Elasticsearch 1.6、Zookeeper 2、迁移与备份 2.1容器保存为镜像 2.2镜像备份 2.3镜像恢复与迁移 1、应用部署 1.1、Mysql 拉取mysql的镜像&#xff1a; docker pull mysql:5.7 为mysql镜…

孤立森林详解

基本概念 孤立森林&#xff08;Isolation Forest&#xff09;是一种基于异常检测的机器学习算法&#xff0c;用于识别数据集中的异常点。孤立森林算法在异常检测、网络入侵检测、金融欺诈检测等领域有广泛应用&#xff0c;并且在处理大规模数据和高维数据时表现出色。孤立森林…

linux centos Python + Selenium+Chrome自动化测试环境搭建?

在 CentOS 系统上搭建 Python Selenium Chrome 自动化测试环境&#xff0c;需要执行以下步骤&#xff1a; 1、安装 Python CentOS 7 自带的 Python 版本较老&#xff0c;建议使用 EPEL 库或源码安装 Python 3。例如&#xff0c;使用 EPEL 库安装 Python 3&#xff1a; sud…

excel爬虫相关学习2:excel 和 vba 爬虫相关xmlhttp方法

目录 前言&#xff1a;vba 爬虫相关xmlhttp的方法 1 什么是xmlhttp 1.1 定义 1.2 特点 定义XMLHTTP对象&#xff1a; XMLHTTP方法&#xff1a; open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword) send(varBody) setRequestHeader(bstrHeader, bstrValue) …

SpringBoot全局异常页面处理学习

首先我们先在控制器中写一个异常&#xff0c;默认情况下我们的SpringBoot异常页面是这个样子的。 示例代码如下: import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;/*** author qinxun* date 202…

拉新、转化、留存,一个做不好,就可能会噶?

用户周期 对于我们各个平台来说&#xff08;CSDN也是&#xff09;&#xff0c;我们用户都会有一个生命周期&#xff1a;引入期–成长期–成熟期–休眠期–流失期。 而一般获客就在引入期&#xff0c;在这个时候我们会通过推广的手段进行拉新&#xff1b;升值期则发生在成长期…

AotucCrawler 快速爬取图片

AotucCrawler 快速爬取图片 今天介绍一款自动化爬取图片项目。 GitHub: GitHub - YoongiKim/AutoCrawler: Google, Naver multiprocess image web crawler (Selenium) Google, Naver multiprocess image web crawler (Selenium) 关键字 爬虫网站&#xff1a;Google、Naver &…

最新大学计算机专业实习心得报告

最新大学计算机专业实习心得报告&#xff08;篇1&#xff09; 一、实习目的 通过理论联系实际&#xff0c;巩固所学的知识&#xff0c;提高处理实际问题的能力&#xff0c;为顺利毕业进行做好充分的准备&#xff0c;并为自己能顺利与社会环境接轨做准备。通过这次实习&#xff…

管理类联考——英语二——技巧篇——阅读理解——taiqi

第一章 翻译技巧概述 一、词汇方面 (一&#xff09;词义选择 大多数英语词汇是多义的&#xff0c;翻译时必须选择正确的词义。词义选择的方法有三&#xff1a;根据上下文和词的搭配选择根据词类选择、根据专业选择。 (二&#xff09;词义转换 在理解英文词汇的原始意义基础…

vue安裝及配置 nodejs安装配置

vue安装及配置 vue安装步骤 nodejs安装 安装nodejs环境&#xff1a;https://nodejs.org/en/ 查看node版本&#xff1a;node-v vue3.0需要使用node 8版本以上 npm镜像配置 npm是nodejs内置的资源管理器 npm两个镜像&#xff1a; 淘宝镜像&#xff1a;https://registry.npm.…

Parallel Desktop下的Centos 9 ping通网络,配置静态ip的全过程

目录 一、发现问题1. 找不到网卡配置文件2. 网络重启的命令一直无法执行成功 二、分析问题三、解决问题系统环境1. 打开网卡配置文件2. 修改ipv4配置3. 重载网卡配置文件4. ping通&#xff0c;可以正常上网了 四、疑问1. 如何确定自己是不是设置了静态ip2. DHCP是固定静态ip 的…

使用PyMC进行时间序列分层建模

在统计建模领域&#xff0c;理解总体趋势的同时解释群体差异的一个强大方法是分层(或多层)建模。这种方法允许参数随组而变化&#xff0c;并捕获组内和组间的变化。在时间序列数据中&#xff0c;这些特定于组的参数可以表示不同组随时间的不同模式。 今天&#xff0c;我们将深…

shell内置命令

目录 内置命令介绍内置命令列表alisa内置命令alias别名定义语法unalias 别名删除语法alias演示 echo内置命令echo命令介绍echo输出语法echo输出转义字符 read内置命令介绍语法options支持的参数示例1&#xff1a;多个变量赋值 exit内置命令介绍语法示例&#xff1a;Shell脚本文…

Day01 项目简介分布式基础概念

最近在改进公司开发的商城项目&#xff0c;看到了尚硅谷的谷粒商城&#xff0c;就快速学习了下&#xff0c;因为之前的Kafka,Redis都是在这学习的&#xff0c;还有大数据的Flink。所以感觉一定不错&#xff0c;就开始了。 这里做一下学习笔记 一、项目简介 1 、项目背景 1 &…

AutoSAR系列讲解 - AutoSAR标准文档概览

目录 一、文档下载 二、文档结构 三、文档内容 四、各部分介绍 1、Introduction and functional o 目录 一、文档下载 二、文档结构 三、文档内容 四、各部分介绍 1、Introduction and functional overview 2、Acronyms and abbreviations 3、Related documentati…

基于Java+SpringBoot+vue的口腔管家平台设计与实现

博主介绍&#xff1a;擅长Java、微信小程序、Python、Android等&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案例…