目录

  • 使用工具
  • 使用jar包
  • 环境搭建
  • 代码示例
    • java目录
      • Student.java
      • StudentDaoImpl.java
      • IStudentDao.java
      • Main.java
      • StudentServiceImpl.java
      • IStudentService.java
      • TesrSpring.java
    • resources目录
      • applicationContext.xml 配置
    • 数据库
      • item.sql
  • 效果展示
    • 界面
    • 添加功能
    • 查询功能
    • 查询全部功能
    • 删除功能
    • 更改功能

使用工具

IDEA2018.2 MySQL5.6 JDK1.8 Tomcat8.5.33

使用jar包

commons-logging-1.2.jar
log4j-1.2.17.jar
log4j-api-2.3.jar
log4j-core-2.3.jar
mysql-connector-java-5.1.8.jar
spring-aop-4.3.6.RELEASE.jar
spring-aspects-4.3.6.RELEASE.jar
spring-beans-4.3.6.RELEASE.jar
spring-context-4.3.6.RELEASE.jar
spring-core-4.3.6.RELEASE.jar
spring-expression-4.3.6.RELEASE.jar
spring-jdbc-4.3.6.RELEASE.jar
spring-tx-4.3.6.RELEASE.jar
jar下载微云链接:https://share.weiyun.com/5UWqHhY

环境搭建



代码示例

java目录

Student.java
package com.zr.bean;import org.springframework.stereotype.Component;/*** @Author VVcat* @Date 2019/10/11 10:11**/@Component
public class Student {//属性的封装private int id;private String name;private String sex;private int age;//get and setpublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Student( String name, String sex, int age,int id) {this.name = name;this.sex = sex;this.age = age;this.id = id;}public Student(String name, String sex, int age) {this.name = name;this.sex = sex;this.age = age;}public Student() {}//toString@Overridepublic String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +", sex='" + sex + '\'' +", age=" + age +'}';}
}
StudentDaoImpl.java
package com.zr.dao.impl;import com.zr.bean.Student;
import com.zr.dao.IStudentDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;import java.util.List;/*** @Author VVcat* @Date 2019/10/11 12:13**/
@Repository
public class StudentDaoImpl implements IStudentDao {@Autowiredprivate JdbcTemplate jdbcTemplate;private boolean flag = false;//注入方法public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {this.jdbcTemplate = jdbcTemplate;}@Overridepublic boolean add(Student student) {String sql = "insert into tb_student values(null,?,?,?)";int row = jdbcTemplate.update(sql, student.getName(), student.getSex(), student.getAge());if (row>0){flag = true;}return flag;}@Overridepublic boolean delStu(int stuId) {String sql = "delete from tb_student where id =?";int row = jdbcTemplate.update(sql, stuId);if (row>0){flag=true;}return flag;}@Overridepublic boolean updStu(Student student) {String sql = "update tb_student set name = ?, sex = ?,age = ? where id = ? ";int row = jdbcTemplate.update(sql, student.getName(), student.getSex(), student.getAge(), student.getId());if (row>0){flag=true;}return flag;}@Overridepublic Student findById(int stuId) {String sql = "select * from tb_student where id = ?";BeanPropertyRowMapper<Student> rowMapper = new BeanPropertyRowMapper<>(Student.class);Student student = null;try {student = jdbcTemplate.queryForObject(sql, new Object[]{stuId}, rowMapper);}catch (Exception e){student = null;}return student;}@Overridepublic List<Student> findAll() {String sql = "select * from tb_student";BeanPropertyRowMapper<Student> rowMapper = new BeanPropertyRowMapper<>(Student.class);List<Student> studentList = jdbcTemplate.query(sql, rowMapper);return studentList;}
}
IStudentDao.java
package com.zr.dao;import com.zr.bean.Student;import java.util.List;public interface IStudentDao {//增加boolean add(Student student);//删除boolean delStu(int stuId);//修改boolean updStu(Student student);//单查询Student findById(int stuId);//全查List<Student> findAll();
}
Main.java
package com.zr.main;import com.zr.bean.Student;
import com.zr.service.impl.StudentServiceImpl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import java.util.List;
import java.util.Scanner;/*** @Author VVcat* @Date 2019/10/11 16:29**/
public class Main {//加载配置文件applicationContext.xmlstatic ApplicationContext ac = new ClassPathXmlApplicationContext("/applicationContext.xml");public static void main(String[] args) {boolean flag=true;while (flag){System.out.println("学生管理系统");System.out.println("-----------------------------");System.out.println("1.添加学生信息");System.out.println("2.删除学生信息");System.out.println("3.更改学生信息");System.out.println("4.查询学生信息");System.out.println("5.查询所有学生信息");System.out.println("6.退出系统");System.out.println("----------------------------");Scanner input = new Scanner(System.in);System.out.print("请选择功能:");boolean flag2 = true;int i = input.nextInt();switch (i){case 1:while (flag2){StudentServiceImpl ssi = (StudentServiceImpl) ac.getBean("studentServiceImpl");Student student = new Student();System.out.print("请输入学生姓名:");String name = input.next();System.out.print("请输入学生性别:");String sex = input.next();System.out.print("请输入学生年龄:");int age = input.nextInt();student.setName(name);student.setSex(sex);student.setAge(age);boolean b = ssi.add(student);if (b){System.out.println("添加成功");System.out.println("---------------------");System.out.println("1.退出添加");System.out.println("2.继续添加");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);}else {System.out.println("添加失败");System.out.println("---------------------");System.out.println("1.退出添加");System.out.println("2.继续添加");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);}}break;case 2:while (flag2){StudentServiceImpl ssi = (StudentServiceImpl) ac.getBean("studentServiceImpl");System.out.print("请输入要删除学生的ID:");int id = input.nextInt();boolean b = ssi.delStu(id);if (b){System.out.println("删除成功");System.out.println("---------------------");System.out.println("1.退出删除");System.out.println("2.继续删除");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);}else {System.out.println("删除失败,没有该用户");System.out.println("---------------------");System.out.println("1.退出删除");System.out.println("2.继续删除");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);}}break;case 3:while (flag2){StudentServiceImpl ssi = (StudentServiceImpl) ac.getBean("studentServiceImpl");Student student = new Student();System.out.print("请输入要更改学生的ID:");int id = input.nextInt();Student studentById = ssi.findById(id);if (studentById != null){boolean gengai = true;while (gengai){System.out.println("此用户的信息为:");System.out.println("ID:"+studentById.getId());System.out.println("name:"+studentById.getName());System.out.println("sex:"+studentById.getSex());System.out.println("age:"+studentById.getAge());System.out.println("-------------------------");System.out.println("是否更改该用户");System.out.println("1.更改");System.out.println("2.换一个更改");System.out.println("3.退出更改");int j = input.nextInt();switch (j){case 1:System.out.print("请输入学生姓名:");String name = input.next();System.out.print("请输入学生性别:");String sex = input.next();System.out.print("请输入学生年龄:");int age = input.nextInt();student.setId(id);student.setName(name);student.setSex(sex);student.setAge(age);boolean b = ssi.updStu(student);if (b){System.out.println("更改成功");System.out.println("---------------------");System.out.println("1.退出更改");System.out.println("2.继续更改");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);gengai = false;}else {System.out.println("更改失败");System.out.println("---------------------");System.out.println("1.退出更改");System.out.println("2.继续更改");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);gengai = false;}break;case 2:flag2 = true;gengai = false;break;case 3:flag2 = false;gengai = false;break;default:gengai = true;break;}}} else {System.out.println("查无此人");System.out.println("---------------------");System.out.println("1.退出更改");System.out.println("2.继续更改");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);}}break;case 4:while (flag2){StudentServiceImpl ssi = (StudentServiceImpl) ac.getBean("studentServiceImpl");System.out.print("请输入要查询学生的ID:");int id = input.nextInt();Student studentById = ssi.findById(id);if (studentById != null){System.out.println("此用户的信息为:");System.out.println("ID:"+studentById.getId());System.out.println("name:"+studentById.getName());System.out.println("sex:"+studentById.getSex());System.out.println("age:"+studentById.getAge());System.out.println("-------------------------");System.out.println("1.退出查询");System.out.println("2.继续查询");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);}else {System.out.println("查无此人");System.out.println("---------------------");System.out.println("1.退出查询");System.out.println("2.继续查询");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);}}break;case 5:while (flag2){StudentServiceImpl ssi = (StudentServiceImpl) ac.getBean("studentServiceImpl");List<Student> studentList = ssi.findAll();for (Student student : studentList) {System.out.print("ID:"+student.getId()+",");System.out.print("name:"+student.getName()+",");System.out.print("sex:"+student.getSex()+",");System.out.print("age:"+student.getAge()+",");System.out.println();}System.out.println("-------------------------");System.out.println("1.退出查询");System.out.println("2.更新查询");System.out.println("请输入您的选择");int i1 = input.nextInt();flag2 = ssi.isNext(i1, flag2);}break;case 6:flag=false;break;default:flag = true;break;}}System.out.println("欢迎下次光临");}
}
StudentServiceImpl.java
package com.zr.service.impl;import com.zr.bean.Student;
import com.zr.dao.IStudentDao;
import com.zr.service.IStudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;/*** @Author VVcat* @Date 2019/10/11 11:21**/
@Service
public class StudentServiceImpl implements IStudentService {@Autowiredprivate IStudentDao studentDao;@Overridepublic boolean add(Student student) {return studentDao.add(student);}@Overridepublic boolean delStu(int stuId) {return studentDao.delStu(stuId);}@Overridepublic boolean updStu(Student student) {return studentDao.updStu(student);}@Overridepublic Student findById(int stuId) {return studentDao.findById(stuId);}@Overridepublic List<Student> findAll() {return studentDao.findAll();}@Overridepublic boolean isNext(int i,boolean flag2) {boolean flag3 = true;while (flag3){switch (i){case 1:flag2 = false;flag3 = false;break;case 2:flag2 = true;flag3 = false;break;default:flag3 = true;flag2 = true;break;}}return flag2;}
}
IStudentService.java
package com.zr.service;import com.zr.bean.Student;import java.util.List;public interface IStudentService {//增加boolean add(Student student);//删除boolean delStu(int stuId);//修改boolean updStu(Student student);//单查询Student findById(int stuId);//全查List<Student> findAll();//判断功能是否继续boolean isNext(int i,boolean flag2);
}
TesrSpring.java
package com.zr.test;import com.zr.bean.Student;
import com.zr.service.impl.StudentServiceImpl;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import java.util.List;/*** @Author VVcat* @Date 2019/10/11 15:12**/
public class TesrSpring {//加载配置文件applicationContext.xmlApplicationContext ac = new ClassPathXmlApplicationContext("/applicationContext.xml");@Testpublic void addStu(){//1.创建对象Student student = new Student("fantasy","男",5);//2.获取自动创建的对象 -IOCStudentServiceImpl ssi = (StudentServiceImpl) ac.getBean("studentServiceImpl");boolean b = ssi.add(student);if (b){System.out.println("学生添加成功");}else {System.out.println("学生添加失败");}}@Testpublic void findById(){StudentServiceImpl ssi = (StudentServiceImpl) ac.getBean("studentServiceImpl");Student student = ssi.findById(1);System.out.println("单次查询到的学生信息为"+student.toString());}@Testpublic void findAll(){StudentServiceImpl ssi = (StudentServiceImpl) ac.getBean("studentServiceImpl");List<Student> studentList = ssi.findAll();for (Student student:studentList){System.out.println("获取到的每一个对象是:\n"+student);}}
}

resources目录

applicationContext.xml 配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!--  1.提供注解支持  --><context:component-scan base-package="com.zr"/><!--  2.配置数据源  --><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/item?useSSL=true&amp;characterEncoding=utf-8"/><property name="username" value="root"/><property name="password" value="123456"/></bean><!--  3.创建JDBCTemplate对象,注入dataSource  --><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"/></bean></beans>

数据库

item.sql
CREATE DATABASE item;
USE `item`;
CREATE TABLE `tb_student` (`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(50) NULL,`sex` VARCHAR(50) NULL,age INT(10) NULL,PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1  CHARSET=utf8;

效果展示

界面

添加功能

查询功能

查询全部功能

删除功能

更改功能

spring框架实现一个学生管理系统相关推荐

  1. 手把手教你使用SSM框架实现一个学生管理系统第二章之创建一个web工程及相关配置文件的介绍

    SSM框架的基本介绍 文字概述: SSM:spring+springMVC+mybaits Spring:是一个容器,就是一个bean(实体对象)大集合. SpringMVC:控制器(业务逻辑层)(视 ...

  2. C语言程序设计——设计一个学生管理系统(完美运行的程序(●‘◡‘●))

    目录 一.设计目的 二.原理及相关功能 (一)基本框架 (二)功能实现 三.完整代码 四.运行结果 一.设计目的 通过c语言设计一个学生管理系统,要求有直观的主菜单,可以录入学生的信息,实现添加学生信 ...

  3. python实现一个学生管理系统

    新手开始学习,跟着网上教程敲出一个学生管理系统 主要学习与熟悉:1.学习如何使用函数封装实现系统功能 2.熟悉对txt文本文件的增删改查 3.熟悉对字典.列表.字符串的处理 目录 一.需求分析 二.系 ...

  4. 使用Qt5编写一个学生管理系统

    程序使用Qt5编写了一个学生管理系统 首先介绍一下项目框架,项目包含一个主窗口mainwindow Mainwindow使用的就是最常见的Mainwindow带对话框的,带标题栏等等的窗口 两个子窗口 ...

  5. 用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)(二)

    本文上接用JDBC写一个学生管理系统(添加.删除.修改.查询学生信息) 这次主要是对上一文中的查询方法做一下调整,用创建内部类的方法来实现学生信息的查询. 我们先要定义一个接口IRowMapper: ...

  6. 用JDBC写一个学生管理系统(添加、删除、修改、查询学生信息)

    首先需要用Navicat Premium创建一个student表 用Java连接好MySQL数据库(需要copy一个mysql-connector-java-5.1.44-bin.jar包,该包可在网 ...

  7. java 电力 监测 系统,基于Spring框架的电力负荷管理系统[Java编程]

    赞助商链接 本文"基于Spring框架的电力负荷管理系统[Java编程]"是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自 ...

  8. 创建一个学生管理系统数据库_建立一个问答系统

    创建一个学生管理系统数据库 Over three months we had the chance to design and implement a question answering proje ...

  9. java nextline_Java写一个学生管理系统

    前言 其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swi ...

最新文章

  1. 【星球知识卡片】深度学习图像降噪有哪些关键技术点,如何学习
  2. 【资源下载】旷视研究院张祥雨valse2019报告PPT——高效轻量级深度模型的研究与实践
  3. 动态规划之0-1背包问题
  4. mac 配置mysql 环境变量
  5. 基于JSP小型超市管理系统
  6. 三阶矩阵的lu分解详细步骤_lu分解(笔算矩阵lu分解步骤)
  7. RouterOS PPTP和L2TP的配置
  8. 模型的泛化能力--正则化
  9. 图像的采样、频谱和分辨率
  10. PID调节的C语言及MATLAB实现方法
  11. 在线压缩和改变图片大小的免费方法
  12. win系统加入方舟服务器秒退,win10方舟生存进化进服务器闪退解决方法
  13. 扫描二维码下载app,判断是Android还是ios,并跳转到不同的下载地址
  14. gitlab安装及配置
  15. 机器人是如何实现控制的,它的控制器有哪些组成?
  16. 【wxPython】wxPython之窗口操作
  17. csapp-lad1
  18. 如何看懂源代码--(分析源代码方法) 1
  19. python爬虫之字符集和编码
  20. 清理android桌面

热门文章

  1. 阿里云 apt-get update 403
  2. 基于网络抓包实现kubernetes中微服务的应用级监控
  3. rhel6下组建两台主机的HA集群
  4. tomcat的简单认识
  5. Java 多线程断点下载文件_详解
  6. APUE读书笔记-14高级输入输出-06异步IO
  7. 企业在管理系统方面要有主动权
  8. 第一次简单总结CPU工作原理
  9. Django分页的基本实现办法
  10. Struts2+Spring2.5+Hibernate3.1实现登陆示例