学生考试信息管理使用SSM框架
本次含有的功能分别是增删改查,模糊查询。
项目目录
项目前端页面效果图
查询所有的信息:
修改信息:
新增信息:
点击删除就直接删除了一条记录。
(页面就简单的构建,这里每一步操作都会重定向页面)。
项目的配置文件
(所有的配置文件都放上去了,有些注释的是使用过,但是不行才注释的,项目目录中的application.properties,test,utils是无效文件和文件目录,没有用的不用管)。
pom.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>StuExam</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>StuExam Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<spring.version>4.1.7.RELEASE</spring.version>
<hibernate.version>4.3.11.Final</hibernate.version>
</properties>
<dependencies>
<!--junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--数据库连接池 c3p0-->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!--servlet jsp-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>
<!--spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
<!--jackson-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.11.0</version>
</dependency>
<!--jstl-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--oracle-->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>12.2.0.1</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.13</version>
</dependency>
</dependencies>
<build>
<!--静态资源导出问题-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<finalName>StuExam</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
web.xml配置文件:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<!--<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">-->
<!--配置jsp页面可以使用EL表达式:默认是忽略EL表达式-->
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 处理POST提交乱码问题 -->
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<!-- 拦截规则 -->
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--session-->
<session-config>
<session-timeout>15</session-timeout>
</session-config>
</web-app>
在web.xml文件中使用了applicationContext.xml配置文件,下面是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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<import resource="classpath:spring-dao.xml"/>
<import resource="classpath:spring-service.xml"/>
<import resource="classpath:spring-mvc.xml"/>
</beans>
再依次导入applicationContext.xml中导入的三个xml配置文件
spring-dao.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:property-placeholder location="classpath:database.properties"/>
<!--2.连接池-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!--sqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!--绑定mybatis的配置文件-->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<!--配置dao接口扫描包,动态的实现了dao接口可以注入到spring容器中-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--注入sqlSessionFactory-->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!--扫描的dao包-->
<property name="basePackage" value="com.stuexam.dao"/>
</bean>
</beans>
spring-service.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"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<import resource="classpath:spring-dao.xml"/>
<!--自动扫描service的包-->
<context:component-scan base-package="com.stuexam.service"/>
<bean id="StuExamDao" class="java.lang.String"/>
<!--将我们的所有业务注入到spring,可以通过注解或配置-->
<bean id="stuExamServiceImpl" class="com.stuexam.service.StuExamServiceImpl">
<property name="StuExamDao" ref="StuExamDao"/>
</bean>
<!--3.声明式事务配置-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--注入数据源-->
<property name="dataSource" ref="dataSource"/>
</bean>
<!--aop事务支持-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="txPointCut" expression="execution(* com.stuexam.dao.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"/>
</aop:config>
</beans>
在这里调用了一个数据库配置的源文件database.propereties:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/stuexam?useSSL=false&useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
spring-mvc.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"
xmlns:mvc="http://www.springframework.org/schema/mvc"
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
http://www.springframework.org/schema/mvc
https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 日期转换 必须放在<mvc:annotation-driven />前面 -->
<!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>-->
<!--注解驱动-->
<mvc:annotation-driven/>
<!--静态资源过滤-->
<mvc:default-servlet-handler/>
<!--扫描包-->
<context:component-scan base-package="com.stuexam.controller"/>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 配置日期转换器 -->
<!--<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.stuexam.controller.BaseController"></bean>
</set>
</property>
</bean>-->
<!--配置视图(与视图解析器相同)-->
<!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/page/" p:suffix=".jsp">
</bean>-->
</beans>
最后还需要一个mybatis-config.xml配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!--配置下划线转为驼峰命名法的映射-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!--控制台输入执行日志-->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!--配置数据源交给spring去做-->
<typeAliases>
<package name="com.stuexam.entity"/>
</typeAliases>
<mappers>
<mapper class="com.stuexam.dao.StuExamDao"/>
</mappers>
</configuration>
页面代码
index.jsp
<%@page contentType="text/html; charset=utf-8" language="java" %>
<html>
<body>
<h3>
<a href="${pageContext.request.contextPath}/sec/qa">点击</a>
</h3>
</body>
</html>
stuexam.jsp
<%--
Created by IntelliJ IDEA.
User: 48817
Date: 2021/8/1
Time: 12:09
To change this template use File | Settings | File Templates.
--%>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta charset="utf-8">
<title>学生选课</title>
</head>
<style>
.div{
width: 1000px;
height:auto;
margin: 0 auto;
}
.tab{
margin: 0 auto;
}
</style>
<body>
<center style="color: red;font-size: 28px;">学生考试查询</center>
<div class="div" id="">
<table class="tab" border="" cellspacing="" cellpadding="">
<tr>
<th>学生id</th>
<th>学生名字</th>
<th>学生班级</th>
<th>开始时间</th>
<th>结束时间</th>
<th>成绩</th>
<th>通过率</th>
<th>考试时间</th>
<th>操作</th>
</tr>
<tbody>
<c:forEach var="list" items="${list}">
<tr>
<td>${list.id}</td>
<td>${list.name}</td>
<td>${list.className}</td>
<td>
<fmt:formatDate value='${list.startTime}' pattern='yyyy-MM-dd HH:mm:ss'/>
<%--${list.start_time}--%>
</td>
<td><fmt:formatDate value='${list.endTime}' pattern='yyyy-MM-dd HH:mm:ss'/><%--${list.end_time}--%></td>
<td>${list.score}</td>
<td>${list.rate}</td>
<td><fmt:formatDate value='${list.startDate}' pattern='yyyy-MM-dd HH:mm:ss'/><%--${list.start_date}--%></td>
<td>
<a href="${pageContext.request.contextPath}/sec/tus?id=${list.id}">修改</a>
|
<a href="${pageContext.request.contextPath}/sec/ds/${list.id}">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div style="width:100px;height:40px;margin: 10px auto">
<a href="${pageContext.request.contextPath}/sec/tas">增加</a>
<a href="${pageContext.request.contextPath}/sec/qa">返回主页</a>
</div>
<div style="width:100px;height:40px;margin: 10px auto">
<form action="${pageContext.request.contextPath}/sec/sln" method="post">
<input type="text" name="selectStu" placeholder="请输入要查询学生的名称"/>
<input type="submit" value="查询"/>
</form>
</div>
</body>
</html>
toAddStu.jsp
<%--
Created by IntelliJ IDEA.
User: 48817
Date: 2021/8/1
Time: 22:02
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>增加</title>
</head>
<body>
<div>
<form action="${pageContext.request.contextPath}/sec/as" method="post">
<div class="div3" id="" style="width: 300px; height: 200px; margin: 0 auto;">
<label>学生id:</label>
<input type="text" name="id" id="id" value="" required="required"/><br/>
<label>学生姓名:</label>
<input type="text" name="name" id="name" value="" required="required"/><br/>
<label>学生班级:</label>
<input type="text" name="className" id="className" value="" required="required"/><br/>
<label>开始时间:</label>
<input type="text" name="startTime" id="startTime" value="" required="required"/><br/>
<label>结束时间:</label>
<input type="text" name="endTime" id="endTime" value="" required="required"/><br/>
<label>成绩:</label>
<input type="text" name="score" id="score" value="" required="required"/><br/>
<label>通过率:</label>
<input type="text" name="rate" id="rate" value="" required="required"/><br/>
<label>创建时间:</label>
<input type="text" name="startDate" id="startDate" value="" required="required"/>
</div>
<div class="div4" style="width: 100px;height: 40px; margin: 20px auto;">
<input type="submit" value="添加" />
<a href="${pageContext.request.contextPath}/sec/qa">返回主页</a>
</div>
</form>
</div>
</body>
</html>
toUpdateStu.jsp
<%--
Created by IntelliJ IDEA.
User: 48817
Date: 2021/8/2
Time: 21:52
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
<html>
<head>
<title>修改页面</title>
</head>
<body>
<div>
<form action="${pageContext.request.contextPath}/sec/us" method="post">
<div class="div3" id="" style="width: 300px; height: 200px; margin: 0 auto;">
<label>学生id:</label>
<input type="text" name="id" id="id" value="${fStu.id}" required="required" readonly/><br/>
<label>学生姓名:</label>
<input type="text" name="name" id="name" value="${fStu.name}" required="required"/><br/>
<label>学生班级:</label>
<input type="text" name="className" id="className" value="${fStu.className}" required="required"/><br/>
<label>开始时间:</label>
<input type="text" name="startTime" id="startTime" value="<fmt:formatDate value='${fStu.startTime}' pattern='yyyy-MM-dd HH:mm:ss'/>" required="required"/><br/>
<label>结束时间:</label>
<input type="text" name="endTime" id="endTime" value="<fmt:formatDate value='${fStu.endTime}' pattern='yyyy-MM-dd HH:mm:ss'/>" required="required"/><br/>
<label>成绩:</label>
<input type="text" name="score" id="score" value="${fStu.score}" required="required"/><br/>
<label>通过率:</label>
<input type="text" name="rate" id="rate" value="${fStu.rate}" required="required"/><br/>
<label>创建时间:</label>
<input type="text" name="startDate" id="startDate" value="<fmt:formatDate value='${fStu.startDate}' pattern='yyyy-MM-dd HH:mm:ss'/>" required="required"/>
</div>
<div class="div4" style="width: 100px;height: 40px; margin: 20px auto;">
<input type="submit" value="修改" />
<a href="${pageContext.request.contextPath}/sec/qa">返回主页</a>
</div>
</form>
</div>
</body>
</html>
项目源代码
实体类entity层:
package com.stuexam.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class StuExamEntity {
private Integer id;
private String name;
private String className;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date startTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date endTime;
private Double score;
private Double rate;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date startDate;
}
mapper映射文件StuExamDao.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.stuexam.dao.StuExamDao">
<select id="findAll" resultType="StuExamEntity">
SELECT * FROM t_result
</select>
<select id="findOne" resultType="com.stuexam.entity.StuExamEntity">
select * from t_result where id=#{id}
</select>
<insert id="addStu" parameterType="StuExamEntity">
INSERT INTO t_result
VALUES(${id},#{name},#{className},STR_TO_DATE(#{startTime},'%Y-%m-%d %H:%i:%s'),
STR_TO_DATE(#{endTime},'%Y-%m-%d %H:%i:%s'),#{score},#{rate},
STR_TO_DATE(#{startTate},'%Y-%m-%d %H:%i:%s'))
</insert>
<update id="updateStu" parameterType="StuExamEntity">
update t_result set name=#{name},class_name=#{className},
start_time=STR_TO_DATE(DATE_FORMAT(#{startTime},'%Y-%m-%d %H:%i:%s'),'%Y-%m-%d %H:%i:%s'),
end_time=STR_TO_DATE(DATE_FORMAT(#{endTime},'%Y-%m-%d %H:%i:%s'),'%Y-%m-%d %H:%i:%s'),score=#{score},rate =#{rate},
start_date=STR_TO_DATE(DATE_FORMAT(#{startDate},'%Y-%m-%d %H:%i:%s'),'%Y-%m-%d %H:%i:%s') where id=#{id}
</update>
<!--<update id="updateStu" parameterType="StuExamEntity">
update t_result set name=#{name},class_name=#{class_name},
start_time=#{start_time},
end_time=#{end_time},score=#{score},rate =#{rate},
start_date=#{start_date} where id=#{id}
</update>-->
<delete id="deleteStu">
delete from t_result where id=#{id}
</delete>
<select id="selectLikeName" resultType="StuExamEntity">
SELECT * FROM t_result WHERE name LIKE CONCAT('%',#{selectStu},'%')
</select>
</mapper>
dao层StuExamDao.java
package com.stuexam.dao;
import com.stuexam.entity.StuExamEntity;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface StuExamDao {
StuExamEntity findOne(int id);
List<StuExamEntity> findAll();
int addStu(StuExamEntity see);
int updateStu(StuExamEntity see);
int deleteStu(int id);
List<StuExamEntity> selectLikeName(@Param("selectStu") String selectStu);
}
serviceI层
package com.stuexam.service;
import com.stuexam.entity.StuExamEntity;
import java.util.List;
public interface StuExamServiceI {
List<StuExamEntity> findAll();
int addStu(StuExamEntity see);
StuExamEntity findOne(int id);
int updateStu(StuExamEntity see);
int deleteStu(int id);
List<StuExamEntity> selectLikeName(String selectStu);
}
serviceImpl
package com.stuexam.service;
import com.stuexam.dao.StuExamDao;
import com.stuexam.entity.StuExamEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class StuExamServiceImpl implements StuExamServiceI{
@Autowired
private StuExamDao sed;
@Autowired
public void setStuExamDao(String stuExamDao) {
}
@Override
public List<StuExamEntity> findAll() {
return sed.findAll();
}
@Override
public int addStu(StuExamEntity see) {
int i=sed.addStu(see);
return i;
}
@Override
public StuExamEntity findOne(int id) {
return sed.findOne(id);
}
@Override
public int updateStu(StuExamEntity see) {
return sed.updateStu(see);
}
@Override
public int deleteStu(int id) {
return sed.deleteStu(id);
}
@Override
public List<StuExamEntity> selectLikeName(String selectStu) {
return sed.selectLikeName(selectStu);
}
}
controller层StuExamController:
package com.stuexam.controller;
import com.stuexam.entity.StuExamEntity;
import com.stuexam.service.StuExamServiceI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("/sec")
public class StuExamController{
@Autowired
@Qualifier("stuExamServiceImpl")
private StuExamServiceI sesi;
@RequestMapping("/fa")
@ResponseBody
public List<StuExamEntity> findAll(){
return sesi.findAll();
}
@RequestMapping("/qa")
public String queryAll(Model mav){
List<StuExamEntity> list=sesi.findAll();
mav.addAttribute("list",list);
return "stuexam";
}
@RequestMapping("/tas")
public String toAddStu(){
return "toAddStu";
}
@RequestMapping("/as")
public String addStu(StuExamEntity see){
System.out.println("addStu=>"+see);
sesi.addStu(see);
//重定向
return "redirect:/sec/qa";
}
/**
* 修改学生信息
* @return
*/
@RequestMapping("/tus")
public String toUpdateStu(int id,Model model){
StuExamEntity stu = sesi.findOne(id);
model.addAttribute("fStu",stu);
return "toUpdateStu";
}
@RequestMapping("/us")
public String updateStu(StuExamEntity see){
try {
System.out.println("修改学生==》" + see);
int i = sesi.updateStu(see);
if (i > 0) {
System.out.println("修改成功");
} else {
System.out.println("修改失败");
}
}catch (Exception e){
e.printStackTrace();
}
return "redirect:/sec/qa";
}
@RequestMapping("/ds/{id}")
public String deleteStu(@PathVariable(value = "id") int id){
int i = sesi.deleteStu(id);
if(i>0){
System.out.println("删除成功");
}else{
System.out.println("删除失败");
}
return "redirect:/sec/qa";
}
@RequestMapping("/sln")
public String selectLikeName(String selectStu,Model model){
List<StuExamEntity> list = sesi.selectLikeName(selectStu);
model.addAttribute("list",list);
return "stuexam";
}
}
全部的源码。