运用java编写网页版学生信息管理系统

时间:2024-03-02 13:42:38

能够对数据库进行增、删、改、查操作使用springmvc框架进行搭建。

创建Stu.java文件,内容有:

 1 public class Stu {
 2     //学生的相关属性
 3     private Integer id;        //学号
 4     private String name;    //姓名
 5     private Integer age;    //年龄
 6     private String addr;    //居住地址
 7     //生成相应的set和get方法
 8     public Integer getId() {
 9         return id;
10     }
11     public void setId(Integer id) {
12         this.id = id;
13     }
14     public String getName() {
15         return name;
16     }
17     public void setName(String name) {
18         this.name = name;
19     }
20     public Integer getAge() {
21         return age;
22     }
23     public void setAge(Integer age) {
24         this.age = age;
25     }
26     public String getAddr() {
27         return addr;
28     }
29     public void setAddr(String addr) {
30         this.addr = addr;
31     }
32     //重写toString方法
33     @Override
34     public String toString() {
35         return "Stu [id=" + id + ", name=" + name + ", age=" + age + ", addr=" + addr + "]";
36     }

以及一些有关框架的配置文件mybatis-config.xml、applicationContext.xml、springmvc-config.xml

 1 applicationContext.xml
 2 <?xml version="1.0" encoding="UTF-8"?>
 3 <beans xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
 5     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
 6     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 7     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
 8     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
 9     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
10     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
11     
12     <!-- 1.加载jdbc.properties文件的位置 -->
13     <context:property-placeholder location="classpath:jdbc.properties"/>
14     
15     <!-- 2.配置druid连接池 ,id是固定值,class是druid连接池类的全路径 -->
16     <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
17         <!-- 配置连接数据库的基本信息 -->
18         <property name="driverClassName" value="${db.driverClassName}"></property>
19         <property name="url" value="${db.url}"></property>
20         <property name="username" value="${db.username}"></property>
21         <property name="password" value="${db.password}"></property>
22     </bean>
23     
24     <!-- 3.整合spring和mybatis框架    
25         将SqlSession等对象的创建交给Spring容器
26         id值(sqlSessionFactory)是固定值
27      -->
28     <bean id="sqlSessionFactory" 
29         class="org.mybatis.spring.SqlSessionFactoryBean">
30         <!-- 3.1.指定mybatis核心配置文件的位置 -->
31         <property name="configLocation" 
32                 value="classpath:mybatis/mybatis-config.xml"></property>
33         <!-- 3.2.配置连接池(数据源) ref指向连接池bean对象的id值 -->
34         <property name="dataSource" ref="dataSource"></property>
35         <!-- 3.3、扫描所有的 XxxMapper.xml映射文件,读取其中配置的SQL语句 -->
36         <property name="mapperLocations" value="classpath:mybatis/mapper/*.xml"/>
37     </bean>
38     
39     <!-- 4、定义mapper接口扫描器 
40         
41     -->
42     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
43         <!-- 扫描所有XxxMapper接口,将接口实例的创建交给spring容器 -->
44         <property name="basePackage" 
45             value="com.tedu.dao"/>
46     </bean>
47     
48     
49 </beans>
50 springmvc-config.xml
51 <?xml version="1.0" encoding="UTF-8"?>
52 <beans xmlns="http://www.springframework.org/schema/beans"
53     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
54     xmlns:context="http://www.springframework.org/schema/context"
55     xsi:schemaLocation="http://www.springframework.org/schema/mvc
56                         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
57                         http://www.springframework.org/schema/beans
58                         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
59                         http://www.springframework.org/schema/context
60                           http://www.springframework.org/schema/context/spring-context-4.0.xsd">
61     
62     <!-- 1.配置前端控制器放行静态资源(html/css/js等,否则静态资源将无法访问) -->
63     <mvc:default-servlet-handler/>
64     
65     <!-- 2.配置注解驱动,用于识别注解(比如@Controller) -->
66     <mvc:annotation-driven></mvc:annotation-driven>
67     
68     <!-- 3.配置需要扫描的包:spring自动去扫描 base-package 下的类,
69         如果扫描到的类上有 @Controller、@Service、@Component等注解,
70         将会自动将类注册为bean 
71      -->
72     <context:component-scan base-package="com.tedu.controller">
73     </context:component-scan>
74     
75     <!-- 4.配置内部资源视图解析器
76         prefix:配置路径前缀
77         suffix:配置文件后缀
78      -->
79     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
80         <property name="prefix" value="/WEB-INF/pages/"/>
81         <property name="suffix" value=".jsp"/>
82     </bean>
83     
84     
85 </beans>

进行增、删、改、查的操作控制的相关文件代码

  1 /*
  2  * 负责处理用户的所有请求
  3  */
  4 @Controller
  5 public class StuController {
  6 
  7     /*
  8      *  /{jspName}中的jspName用于接收访问的路径名称
  9      *  例如:访问路径为http://localhost/yonghe/index
 10      *  那么{}中的jspName的值就是"index",再将{}中jspName的值
 11      *  传给形参的jspName,最后作为返回值返回,表示跳转到这个名称
 12      *  对应的jsp页面
 13      */
 14     @RequestMapping("/{page}")
 15     public String page(@PathVariable String page) {
 16         return page;
 17     }
 18     
 19     /*
 20      * 获取StuMapper接口的子类实例
 21      */
 22     @Autowired
 23     StuMapper stuMapper;
 24     
 25     /*
 26      * 1.查询所有学生信息
 27      */
 28     @RequestMapping("/stuList")
 29     public String StuList(Model model) {
 30         //查询所有学生信息
 31         List<Stu> list=stuMapper.findAll();
 32         //将学生信息的集合存入model中,再转发到jsp中
 33         model.addAttribute("list", list);
 34         //跳转到stu_list.jsp,显示所有学生信息
 35         return "stu_list";
 36         
 37     }
 38     
 39     /*
 40      * 2.根据id删除学生信息
 41      */
 42     @RequestMapping("/stuDelete")
 43     public String stuDelete(Integer id) {
 44         //调用stuMapper的deleteById方法,根据id删除学生信息
 45         stuMapper.deleteById(id);
 46         //跳转到学生列表页面,查询所有学生信息
 47         //return "stu_list";直接跳转到学生列表页面,不会显示学生信息
 48         return "forward:/stuList";
 49     }
 50     
 51     /*
 52      * 3.新增学生信息
 53      */
 54     @RequestMapping("/stuAdd")
 55     public String stuadd(Stu stu) {
 56         //调用stuMapper的add方法
 57         stuMapper.add(stu);
 58         //跳转到学生列表页面,查询最新所有学生信息
 59         return "forward:/stuList";
 60     }
 61     
 62     /*
 63      * 4.根据id查询学生信息
 64      */
 65     @RequestMapping("/stuInfo")
 66     public String stuInfo(Integer id,Model model) {
 67         //调用stuMapper的findById方法,进行id查询学生信息
 68         Stu stu=stuMapper.findById(id);
 69         //将学生对象存入Madel中,再带到学生信息修改页面
 70         model.addAttribute("stu", stu);
 71         //将查询到的学生信息带到学生信息修改页面,进行数据的回显
 72         return "stu_update";
 73     }
 74     
 75     /*
 76      * 5.根据id修改学生信息
 77      */
 78     @RequestMapping("/stuUpdate")
 79     public String stuUpdate(Stu stu) {
 80         //调用stuMapper的updateById方法
 81         stuMapper.updateById(stu);
 82         //转发到查询所有门店的方法,跳转到学生列表页面,查询最新学生信息
 83         return "redirect:/stuList";
 84     }    
 85 }
 86 <?xml version="1.0" encoding="UTF-8"?>
 87 <!DOCTYPE mapper
 88     PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 89     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 90 <!-- 学生表的映射文件    namespace值为对应接口的全路径 -->
 91 <mapper namespace="com.tedu.dao.StuMapper">
 92     <!-- 1.查询所有学生信息,id值为对应接口中方法的名字
 93         resultType指定将查询的结果封装到哪个pojo对象中
 94      -->
 95     <select id="findAll" resultType="com.tedu.pojo.Stu">
 96         select * from stu
 97     </select>
 98     
 99     <!-- 2.根据id删除学生信息(id是传过来的) -->
100     <delete id="deleteById">
101         delete from stu where id=#{id}
102     </delete>
103     
104     <!-- 3.新增学生信息(name、age、addr都是传过来的) -->
105     <insert id="add">
106         insert into stu value(null,#{name},#{age},#{addr})
107     </insert>
108     
109     <!-- 4.根据id查询门店信息 -->
110     <select id="findById" resultType="com.tedu.pojo.Stu">
111         select * from stu where id=#{id}
112     </select>   
113     <!-- 根据id修改学生信息(修改后的学生name、age、addr也都是传过来的) -->
114     <update id="updateById">
115         update stu set name=#{name},age=#{age},addr=#{addr} 
116         where id=#{id}
117     </update>
118     
119     
120 </mapper>

最后运行结果