实训日志——第三天

article/2025/9/22 14:00:15

在敲代码的过程中,也是经常犯错的,大大小小的错,有时候反复检查都不知道有什么错。目前,我总结到,对于我来说,出错就是经常打错字母的大小写,少打一行代码之类的。但就是这些小错,在打磨我耐心,细心。跟着老师的代码都要出错,更不用说自己写了。在代码每一次出错时,再找出来改正,直到运行出结果,还是有满满的成就感的,每次的出错都会给我积累经验。在我的博客上我也写到了再实训时犯的错,以及改正方法。
服务接口
在这里插入图片描述
学校服务接口CollegeService

package net.xmh.student.service;import net.xmh.student.bean.College;import java.util.Calendar;/*** 包名:net.hw.student.service*  类名:CollegeService*  描述:学校服务接口*  作者:向铭涵*  日期:2019年6月19日*/
public interface CollegeService {College findCollegeById(int id);int updateCollege(College college);
}

用户服务接口UserService

package net.xmh.student.service;import net.xmh.student.bean.User;import java.util.List;/*** 包名:net.xmh.student.service* 类名:UserService* 描述:用户服务接口* 作者:向铭涵* 日期:2019年6月19日*/
public interface UserService {int addUser(User user);int deleteUserById(int id);int updateUser(User user);List<User> findAllUsers();User login(String username,String password);}

学生服务接口StudentService

package net.xmh.student.service;import net.xmh.student.bean.Student;import java.util.List;
import java.util.Vector;/**** 包名:net.hw.student.service* 类名:StudentService* 描述:学生服务接口* 作者:向铭涵* 日期:2019年6月19日*/
public interface StudentService {int addStudent(Student student);int deleteStudentsById(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> findAllAtudents( );Vector findRowsBySex();Vector findRowsByClass();Vector findRowsByDepartment();
}

状态服务接口StatusService

package net.xmh.student.service;import net.xmh.student.bean.Status;/*** 包名:net.hw.student.service* 类名:StatusService* 描述:状态服务接口* 作者:向铭涵* 日期:2019年6月19日*/
public interface StatusService {Status findStatusById(int id);int updateStatus(Status status);}

服务接口实现类
在这里插入图片描述
学校服务接口实现类CollegeServiceImpl

package net.xmh.student.service.impl;import net.xmh.student.bean.College;
import net.xmh.student.bean.dao.CollegeDaoImpl;
import net.xmh.student.service.CollegeService;
import net.xmh.student.bean.dao.impl.CollegeDao;/*** 包名:net.hw.student.service.impl* 类名:CollegeServiceImpl* 描述:学校服务接口实现类* 作者:xiangminghan* 日期:2019年6月19日*/
public class CollegeServiceImpl implements CollegeService {/*** 声明学校数据访问对象*/private CollegeDao collegeDao = new CollegeDaoImpl();@Overridepublic College findCollegeById(int id) {return collegeDao.findById(id);}@Overridepublic int updateCollege(College college) {return collegeDao.update(college);}
}

状态服务接口实现类StatusServiceImpl

package net.xmh.student.service.impl;import net.xmh.student.bean.dao.StatusDaoImpl;
import net.xmh.student.bean.Status;
import net.xmh.student.bean.dao.impl.StatusDao;
import net.xmh.student.bean.dao.StatusDaoImpl;
import net.xmh.student.service.StatusService;/*** 包名:net.xmh.student.service.impl* 类名:StatusServiceImpl* 描述:状态服务接口实现类* 作者:向铭涵* 日期:2019年6月19日*/
public class StatusServiceImpl implements StatusService{/*** 声明状态数据访问对象*/private StatusDao statusDao = new StatusDaoImpl();@Overridepublic Status findStatusById(int id){return statusDao.findById(id);}@Overridepublic int updateStatus(Status status){return statusDao.update(status);}
}

学生服务接口实现类StudentServiceImpl

package net.xmh.student.service.impl;import net.xmh.student.bean.College;
import net.xmh.student.bean.dao.CollegeDaoImpl;
import net.xmh.student.service.CollegeService;
import net.xmh.student.bean.dao.impl.CollegeDao;/*** 包名:net.hw.student.service.impl* 类名:CollegeServiceImpl* 描述:学校服务接口实现类* 作者:xiangminghan* 日期:2019年6月19日*/
public class CollegeServiceImpl implements CollegeService {/*** 声明学校数据访问对象*/private CollegeDao collegeDao = new CollegeDaoImpl();@Overridepublic College findCollegeById(int id) {return collegeDao.findById(id);}@Overridepublic int updateCollege(College college) {return collegeDao.update(college);}
}

用户服务接口实现类UserServiceImpl

package net.xmh.student.service.impl;import java.util.List;import net.xmh.student.bean.User;
import net.xmh.student.bean.dao.impl.UserDao;
import net.xmh.student.bean.dao.UserDaoImpl;
import net.xmh.student.service.UserService;/*** 功能:用户服务接口实现类* 作者:向铭涵* 日期:2019年6月19日*/
public class UserServiceImpl implements UserService{/*** 声明用户数据访问对象*/private UserDao userDao = new UserDaoImpl();@Overridepublic int addUser(User user) {return userDao.insert(user);}@Overridepublic int deleteUserById(int id) {return userDao.deleteById(id);}@Overridepublic List<User> findAllUsers() {return userDao.findAll();}@Overridepublic User findUserById(int id) {return userDao.findById(id);}@Overridepublic User login(String username, String password) {return userDao.login(username, password);}@Overridepublic int updateUser(User user) {return userDao.update(user);}
}

在net.hw.student.test包里创建测试类TestCollegeServiceImpl

package net.xmh.student.bean.test;import net.xmh.student.service.CollegeService;
import net.xmh.student.service.impl.CollegeServiceImpl;
import net.xmh.student.bean.College;
import org.junit.Test;/*** 功能:测试学校服务接口实现类* 作者:向铭涵* 日期:2019年6月19日*/
public class TestCollegeServiceImpl {@Testpublic void testFindCollegeById(){CollegeService service = new CollegeServiceImpl();College college = service.findCollegeById(1);System.out.println(college);}@Testpublic void testUpdateCollege(){CollegeService service = new CollegeServiceImpl();College college = service.findCollegeById(1);college.setPresident("");college.setTelephone("");int count = service.updateCollege(college);if (count > 0){System.out.println("恭喜,学校记录更新成功");college = service.findCollegeById(1);}else {System.out.println("遗憾,学校记录更新失败");}}}

编写测试方法testFindCollegeById(),运行结果为:
在这里插入图片描述
编写测试方法testUpdateCollege(),运行结果为:
在这里插入图片描述
在net.hw.student.test包里创建测试类TestStatusServiceImpl

package net.xmh.student.bean.test;import net.xmh.student.service.StatusService;
import net.xmh.student.service.UserService;
import net.xmh.student.service.impl.StatusServiceImpl;
import net.xmh.student.service.impl.UserServiceImpl;
import net.xmh.student.bean.Status;
import net.xmh.student.bean.Student;
import org.junit.Test;import javax.xml.ws.Service;/*** 功能:学生服务接口实现类* 作者:向铭涵* 日期:2019年6月19日*/
public class TestStatusServiceImpl {@Testpublic void testStatusById() {StatusService service = new StatusServiceImpl();Status status = service.findStatusById(1);System.out.println(status);}@Testpublic void testUpdateStatus(){StatusService service = new StatusServiceImpl();Status status = service.findStatusById(1);status.setAuthor("圆圆");status.setTelephone("15800001111");int count = service.updateStatus(status);if (count > 0) {System.out.println("更新成功!");status = service.findStatusById(1);System.out.println(status);} else {System.out.println("更新失败!");}}
}

编写测试方法testStatusById(),运行结果为:
在这里插入图片描述
编写测试方法testUpdateStatus(),运行结果为:
在这里插入图片描述
在net.hw.student.test包里创建测试类TestStudentServiceImpl

package net.xmh.student.bean.test;import net.xmh.student.service.StudentService;
import net.xmh.student.service.impl.StudentServiceImpl;
import net.xmh.student.bean.Student;
import java.util.Vector;
import java.util.Iterator;
import org.junit.Test;import java.util.List;/*** 测试学生服务接口实现类* 作者:向铭涵* 日期:2019年6月19日*/
public class TestStudentServiceImpl {@Testpublic void testAddStudent() {Student student = new Student();student.setId("18101001");student.setName("小可爱");student.setSex("女");student.setAge(19);student.setDepartment("信息工程系");student.setClazz("18大数据1班");student.setTelephone("15890674568");StudentService service = new StudentServiceImpl();int count = service.addStudent(student);if (count > 0) {System.out.println(student);System.out.println("恭喜,学生记录插入成功!");} else {System.out.println("遗憾,学生记录插入失败!");}}@Testpublic void testDeleteStudentById() {StudentService service = new StudentServiceImpl();String id = "18101001";int count = service.deleteStudentsById(id);if (count > 0) {System.out.println("恭喜,学生记录删除成功!");} else {System.out.println("遗憾,学生记录删除失败!");}}@Testpublic void testDeleteStudentClass() {StudentService service = new StudentServiceImpl();String clazz = "10英教1班";int count = service.deleteStudentsByClass(clazz);if (count > 0) {System.out.println("恭喜,[" + clazz + "]学生记录删除成功!");} else {System.out.println("遗憾,[" + clazz + "]学生记录删除失败!");}}@Testpublic void testDeleteStudentDepartment() {StudentService service = new StudentServiceImpl();String department = "信息工程系";int count = service.deleteStudentsByDepartment(department);if (count > 0) {System.out.println("恭喜,[" + department + "]学生记录删除成功!");} else {System.out.println("遗憾,[" + department + "]学生记录删除失败!");}}@Testpublic void testUpdateStudent() {StudentService service = new StudentServiceImpl();Student student = service.findStudentById("10080301");int count = service.updateStudent(student);if (count > 0){System.out.println("恭喜,学生记录更新成功!");}else{System.out.println("遗憾,学生记录更新失败!");}}@Testpublic void testFindStudentById() {StudentService service = new StudentServiceImpl();Student student = service.findStudentById("10080301");System.out.println(student);}@Testpublic void testFindStudentsByName(){StudentService service = new StudentServiceImpl();String name = "李";List<Student> students = service.findStudentsByName(name);for (Student student:students){System.out.println(student);}}@Testpublic void testFindStudentsByClass(){StudentService service = new StudentServiceImpl();String clazz = "15软件1班";List<Student> students = service.findStudentsByClass(clazz);for (Student student:students){System.out.println(student);}}@Testpublic void testFindStudentsByDepartment(){StudentService service = new StudentServiceImpl();String department = "信息工程系";List<Student> students = service.findStudentsByDepartment(department);for (Student student:students){System.out.println(student);}}@Testpublic void testFindAllStudents(){StudentService service = new StudentServiceImpl();String all = "信息工程系";List<Student> students = service.findAllStudents();for (Student student:students){System.out.println(student);}}@Testpublic void testFindRowsBySex() {StudentService service = new StudentServiceImpl();Vector rows = service.findRowsBySex();Iterator iterator = rows.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}@Testpublic void testFindRowsByClass() {StudentService service = new StudentServiceImpl();Vector rows = service.findRowsByClass();Iterator iterator = rows.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}@Testpublic void testFindRowsByDepartment() {StudentService service = new StudentServiceImpl();Vector rows = service.findRowsByDepartment();Iterator iterator = rows.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}
}

编写测试方法testAddStudent(),运行结果为:
在这里插入图片描述
编写测试方法testDeleteStudentById(),运行结果为:
在这里插入图片描述
编写测试方法testDeleteStudentClass(),运行结果为:
在这里插入图片描述
编写测试方法testDeleteStudentDepartment(),运行结果为:
在这里插入图片描述
运行testUpdateStudent()时,报错:
在这里插入图片描述
解决方法:在数据库中再次运行student.sql,刷新表
链接:https://pan.baidu.com/s/1eP8cNZCXdD59q3fbfJWBzQ
提取码:500c
复制这段内容后打开百度网盘手机App,操作更方便哦
在这里插入图片描述
编写测试方法testUpdateStudent(),运行结果为:
在这里插入图片描述
编写测试方法testFindStudentById(),运行结果为:
在这里插入图片描述
编写测试方法testFindStudentsByName(),运行结果为:
在这里插入图片描述
编写测试方法testFindStudentsByClass(),运行结果为:
在这里插入图片描述
编写测试方法testFindStudentsByDepartment(),运行结果为:
在这里插入图片描述
编写测试方法testFindAllStudents(),运行结果为:
在这里插入图片描述
编写测试方法testFindRowsBySex(),运行结果为:
在这里插入图片描述
编写测试方法testFindRowsByClass(),运行结果为:
在这里插入图片描述
编写测试方法testFindRowsByDepartment(),运行结果为:
在这里插入图片描述
在net.hw.student.test包里创建测试类TestUserServiceImpl

package net.xmh.student.bean.test;import net.xmh.student.service.UserService;
import net.xmh.student.bean.User;
import net.xmh.student.service.impl.UserServiceImpl;
import java.sql.Timestamp;
import java.util.Date;
import org.junit.Test;
import java.util.List;/*** 功能:测试用户服务接口实现类* 作者:向铭涵* 日期:2019年6月19日*/
public class TestUserServiceImpl {@Testpublic void testLogin() {UserService service = new UserServiceImpl();String username, password;username = "admin";password = "12345";User user = service.login(username, password);if (user != null) {System.out.println("恭喜,用户名与密码正确,登录成功!");} else {System.out.println("遗憾,用户名或密码错误,登录失败!");}}@Testpublic void testAddUser() {User user = new User();user.setId(10);user.setUsernname("琳琳");user.setRegisterTime(new Timestamp(new Date().getTime()));user.setPassword("222");UserService service = new UserServiceImpl();int count = service.addUser(user);if (count > 0) {System.out.println("恭喜,学生记录插入成功!");} else {System.out.println("遗憾,学生记录插入失败!");}}@Testpublic void testDeleteUserById() {UserService service = new UserServiceImpl();String id = "2";int count = service.deleteUserById(1);if (count > 0) {System.out.println("恭喜,学生记录删除成功!");} else {System.out.println("遗憾,学生记录删除失败!");}}@Testpublic void testUpdateUser() {UserService service = new UserServiceImpl();User user = service.findUserById(1);user.setUsernname("圆圆");int count = service.updateUser(user);if (count > 0) {System.out.println("更新成功!");} else {System.out.println("更新失败!");}}@Testpublic void testFindUserById() {UserService service = new UserServiceImpl();User user = service.findUserById(1);System.out.println(service);}@Testpublic void testFindAllUsers() {UserService service = new UserServiceImpl();List<User> users = service.findAllUsers();for (User user : users) {System.out.println(users);}}
}

编写测试方法testLogin(),运行结果为:
在这里插入图片描述
编写测试方法testAddUser(),运行结果为:
在这里插入图片描述
编写测试方法testDeleteUserById(),运行结果为:
在这里插入图片描述
编写测试方法testUpdateUser(),运行结果为:
在这里插入图片描述
编写测试方法testFindUserById(),运行结果为:
在这里插入图片描述
编写测试方法testFindAllUsers(),运行结果为:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/t5SCGsNQ.shtml

相关文章

实训日志6

上一次太累了没写博客&#xff0c;这次打完了所有的内容&#xff0c;认真总结一下这次的实训 这次实训主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。通过本项目的开发&#xff0c;让我了解系统开发的一般流程&#xff0c;…

将实对称矩阵正交对角化的流程

摘自《矩阵论教程》第2版&#xff0c;张绍飞&#xff0c;p52

实对称矩阵可对角化证明

在极化分解的证明中使用过此定理&#xff0c;证明于此。 埃尔米特矩阵是指复对称矩阵&#xff0c;实对称矩阵是其特例。 转载于:https://www.cnblogs.com/zhixingr/p/8750210.html

矩阵可对角化的条件

总结&#xff1a;对于任意方阵&#xff0c;如果没有重根&#xff0c;矩阵总是可以对角化。麻烦的是重根问题 如果有重根&#xff0c;那么需要验证所谓几何重数&#xff0c;与代数重数相等。 那么对于有重根&#xff0c;不能对角化的矩阵怎么办&#xff1f;这就引入了Jordan标…

线性代数笔记5.3实对称矩阵的对角化(前瞻知识)

实对称矩阵都能对角化 内积 简单来说&#xff0c;内积就是两个向量的对应分量相乘再相加 内积是个数&#xff01;&#xff01; 内积的性质 注意最后一条性质 两个向量和与第三个向量的内积 两个向量分别与第三个向量内积的和&#xff0c;这条性质可以与上面的性质配合使…

含重根的三阶实对称矩阵的快速对角化方法

众所周知&#xff0c;实对称矩阵一定可以相似对角化。而考试中考察的三阶实对称矩阵对角化基本都是三阶的。而且正常情况下特征根一定是整数。因此基于此&#xff0c;有一些特殊的方法可以快速计算三阶实对称矩阵的特征值和特征向量。 一. 猜根法计算特征值 特征值之和等于矩阵…

矩阵的相似对角化

矩阵相似的定义 设 A与B都是N阶方阵&#xff0c;若是一个可逆的N阶矩阵P&#xff0c;使得&#xff0c;则称A与B相似&#xff0c;记作&#xff0c;P成为由A到B的相似变换矩阵 相似矩阵的性质 1、 矩阵A与它自身相似 2、若&#xff0c;则 如果A与B相似&#xff0c;那么B与A…

矩阵对角化

一、矩阵对角化的理论 一个映射或者一个线性变换&#xff0c;都有一个矩阵和它相对应。矩阵或者映射是不是可以对角化&#xff0c;对工程应用来说比较重要&#xff0c;因为对角化后的矩阵&#xff0c;乘积简单&#xff0c;经过多次变换的话&#xff0c;相当于矩阵的多次方。矩…

实对称矩阵必可正交对角化证明

我的小程序&#xff1a; 待办计划&#xff1a;给自己立个小目标吧&#xff01; n阶矩阵A可正交对角化的充分条件是A是实对称矩阵&#xff0c;即若A是实对称矩阵则A必可正交对角化。 首先&#xff0c;有以下定理&#xff1a; 若的特征值为&#xff0c;且&#xff0c;则存在正交…

实对称阵的正交相似对角化

一、正交向量组与正交矩阵 正交向量组的定义&#xff0c;是一组非零向量&#xff0c;且两两正交&#xff0c;那么这组向量&#xff0c;则成为正交向量组。 两个向量正交的意思是&#xff0c;两个向量的内积为0&#xff0c;什么是两个向量的内积&#xff0c;就是向量内对应元素…

线性代数笔记5.3实对称矩阵的对角化

5.3实对称矩阵的对角化 正交矩阵 概念 A是一个n阶方阵 有A转置A E&#xff0c;那么这个矩阵就是正交矩阵 性质 若A是正交矩阵&#xff0c;|A| 1或 -1若A是正交矩阵&#xff0c;A的逆 A的转置 且A逆和A转置均为正交A,B正交&#xff0c;AB也正交若A正交&#xff0c;α&am…

实对称矩阵对角化为什么要做正交化单位化操作呢?

今天晚上王小民同学问了助教姐姐一个问题&#xff0c;为什么对一个一般的矩阵对角化的时候&#xff0c;我们不用做正交单位化&#xff0c;对实对称矩阵对角化的时候却要做呢&#xff1f;这是一个很好的问题&#xff0c;所以和大家分享一下。 最后的结论就是&#xff1a;如果不…

npm构建报错 code ELIFECYCLE解决办法

使用npm构建报错 code ELIFECYCLE 解决办法&#xff0c;进入工作目录 $ rm -rf node_modules $ rm -rf package-lock.json $ npm cache clear --force $ npm install

code ELIFECYCLE npm ERR! errno 1

最近遇到一个项目&#xff0c;npm下来报错errno -40048。 网上帖子有的说npm降级到5.3.0就行&#xff0c;试了直接errno -5 &#xff0c;也还是不行。又有人说下载新的node.js覆盖就行&#xff0c;这里吐槽一下新版的node&#xff08;node-v14.15.1-x64&#xff09;&#xff0…

npm ERR! code ELIFECYCLE报错解决

最近多次遇到这个问题&#xff0c;然而网上的方法对我无效。。。 我是通过解决插件之间版本搭配问题来解决这个报错的&#xff0c;这一点我在博文webpack安装成功后的run build填坑之旅中也有写到&#xff0c;但可能内容太多&#xff0c;不显眼。。。 我本地的node.js是12.6.0c…

Vue错误跳坑:npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! newbee@0.1.0 serve: `vue-cli-service serv

废话不说&#xff0c;直接解决&#xff1a; 1、&#xff08;别删除package.json&#xff0c;删除package-lock.json&#xff09; 2、重新安装&#xff1a;npm install 重新安装后package-lock.json文件会重新生成 3、再次运行&#xff1a;npm run dev就成功了

启动Vue项目报错“npm ERR! code ELIFECYCLE”

由于之前一直是npm和cnpm混着用&#xff0c;也没啥问题&#xff0c;今天在启动Vue项目的时候&#xff0c;却碰见了一个错误“npm ERR! code ELIFECYCLE”&#xff0c;一开始是用npm run启动的&#xff0c;后来换成cnpm run也不行。 查了一下资料&#xff0c;网上大多都说是因为…

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! test_vue_0613@1.0.0 dev: 错误的解决方法

在命令行中使用命令 npm run dev运行从网上下载的一个vue项目时出现了以下报错 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! test_vue_06131.0.0 dev: node build/dev-server.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the test_vue_06131.0.0 dev scri…

npm ERR! code ELIFECYCLE的解决

在使用npm run dev启动程序时&#xff0c;报出如下错误&#xff1a; npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! datav.jiaminghi.com2.0.0 dev: vuepress dev docs npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the datav.jiaminghi.com2.0.0 dev script.…

vue运行报错npm ERR! code ELIFECYCLE npm ERR! errno 9009

项目场景&#xff1a; 最近写代码VScode终端运行项目过程中出现中断运行的情况&#xff0c;人狠话不多&#xff0c;直接上报错图&#xff0c;如下 问题描述 原因分析&#xff1a; 刚开始其实是报134&#xff0c;后来查资料捣鼓了半天开始报9009&#xff0c;不过参阅资料表示本…