简单mvc模式添加查询学生信息test
来源:互联网 发布:大数据股票软件 编辑:程序博客网 时间:2024/06/01 17:36
小测试小测试~希望对有需要的有所帮助,大神勿喷,我是一枚小菜鸟!!
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
`age` int(10) DEFAULT NULL,
`department` varchar(30) DEFAULT NULL,
`address` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 |
package com.hy.entity;
public class Student {
privateintid = 0;
private Stringname =null;
privateintage = 0;
private Stringdepartment =null;
private Stringaddress =null;
public int getId() {
returnid;
}
public void setId(int id) {
this.id =id;
}
public String getName() {
returnname;
}
public void setName(String name) {
this.name =name;
}
public int getAge() {
returnage;
}
public void setAge(int age) {
this.age =age;
}
public String getDepartment() {
returndepartment;
}
public void setDepartment(String department) {
this.department =department;
}
public String getAddress() {
returnaddress;
}
public void setAddress(String address) {
this.address =address;
}
public Student(intid, Stringname,intage, Stringdepartment, Stringaddress) {
super();
this.id =id;
this.name =name;
this.age =age;
this.department =department;
this.address =address;
}
public Student(Stringname,intage, Stringdepartment, Stringaddress) {
super();
this.name =name;
this.age =age;
this.department =department;
this.address =address;
}
public Student() {
super();
}
}
添加学生页面
<!DOCTYPE html>
<html>
<head>
<metacharset="UTF-8">
<title>ADD</title>
</head>
<body>
<h2>Add Student</h2>
<formaction="add.do"method="get">
<table>
<tr><th>name</th><td><inputtype="text"name="name"/></td></tr>
<tr><th>age</th><td><inputtype="text"name="age"/></td></tr>
<tr><th>department</th><td><inputtype="text"name="department"/></td></tr>
<tr><th>address</th><td><inputtype="text"name="address"/></td></tr>
<tr><th><inputtype="submit"value="添加"/></th></tr>
</table>
</form>
</body>
</html>
package com.hy.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.hy.dao.Add;
import com.hy.entity.Student;
@WebServlet("/add.do")
public class AddServletextends HttpServlet {
/**
*
*/
privatestaticfinallongserialVersionUID = 1L;
@Override
protectedvoid doGet(HttpServletRequestreq, HttpServletResponseresp)throws ServletException, IOException {
// 获取会话对象来统计学生数量(每添加一次访问一次本页)
HttpSession session =req.getSession();
Integer Count =new Integer(0);
String K =new String("visitCount");
// 检查网页上是否有新的访问者
if (session.isNew()) {
Count = 1;
session.setAttribute(K,Count);
} else {
// 重置学生计数器
// session.invalidate();
Count = (Integer)session.getAttribute(K);
Count = Count + 1;
session.setAttribute(K,Count);
}
// 设置字符集编码(最好在配置文件中定义,我这里是test直接设置了);
req.setCharacterEncoding("utf-8");
// 获取页面参数
String name =req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
String department =req.getParameter("department");
String address =req.getParameter("address");
// 将参数封装到实体类学生对象中
Student stu =new Student(name,age,department,address);
// 将对象存储到添加列表中等待处理
Add.add(stu);
// 转发到listServlet
req.getRequestDispatcher("list.do").forward(req,resp);
}
}
package com.hy.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.hy.entity.Student;
import jdbc.util.JdbcDriver;
public class Add {
// 临时存储学生列表
private static List<Student> list = new ArrayList<>();
public static void add(Student student) {
// 添加学生到列表
list.add(student);
// 每10个学生存一次数据库(自定义,this is a test!!)
if (list.size() % 10 == 0) {
// 连接数据库(自己包装的jar包)
JdbcDriver.setProperties("java123","root","1234");
Connection conn = JdbcDriver.getConnection();
PreparedStatement stmt = null;
try {
// 进行事务操作设置自动不提交
conn.setAutoCommit(false);
String sql ="insert into student values(null,?,?,?,?)";
// 预编译sql结构
stmt = conn.prepareStatement(sql);
// 迭代学生list,给sql放参数
for (Studentstu :list) {
stmt.setString(1,stu.getName());
stmt.setInt(2,stu.getAge());
stmt.setString(3,stu.getDepartment());
stmt.setString(4,stu.getAddress());
// 添加到批处理
stmt.addBatch();
// 每5个执行一次批处理(自定义,this is a test!!),清空释放内存
if (list.size() % 5 == 0) {
stmt.executeBatch();
stmt.clearBatch();
stmt.clearParameters();
}
}
// 清空临时存储的学生列表
list.clear();
// 无异常提交事务
conn.commit();
} catch (Exceptione) {
try {
// 处理事务时发生异常,撤销事务
conn.rollback();
} catch (SQLExceptione1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// TODO: handle exception
} finally {
// 关闭相关连接,释放资源
JdbcDriver.close(null,stmt,conn);
}
}
}
}
package com.hy.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hy.dao.Select;
import com.hy.entity.Student;
@WebServlet("/list.do")
public class ListServletextends HttpServlet{
/**
*
*/
privatestaticfinallongserialVersionUID = 1L;
@Override
protectedvoid doGet(HttpServletRequestreq, HttpServletResponseresp)throws ServletException, IOException {
//获取所有学生信息列表
List<Student> list = Select.select();
//将列表存储在请求中
req.setAttribute("list",list);
//转发到展示(View)页面
req.getRequestDispatcher("view.jsp").forward(req,resp);
}
}
package com.hy.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.hy.entity.Student;
import jdbc.util.JdbcDriver;
public class Select {
public static List<Student> select() {
//连接数据库(自己封装的jar包)
JdbcDriver.setProperties("java123","root","1234");
Connection conn = JdbcDriver.getConnection();
List<Student> list =new ArrayList<>();
PreparedStatement stmt = null;
ResultSet set =null;
try {
String sql ="select * from student";
//预编译sql
stmt = conn.prepareStatement(sql);
//执行查询操作
set = stmt.executeQuery();
//迭代获取数据库数据存储到学生对象中
while(set.next()) {
Student student =new Student();
student.setId(set.getInt("id"));
student.setName(set.getString("name"));
student.setAge(set.getInt("age"));
student.setDepartment(set.getString("department"));
student.setAddress(set.getString("address"));
//将学生对象添加到列表
list.add(student);
}
} catch (Exceptione) {
e.printStackTrace();
// TODO: handle exception
}finally {
//关闭相关连接,释放资源
JdbcDriver.close(set,stmt,conn);
}
//返回学生信息列表
returnlist;
}
}
展示页面
<%@ pagelanguage="java"contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE htmlPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>VIEW</title>
</head>
<body>
<h2>VIEW</h2>
<h3>学生总数:${sessionScope.Count }(10个存一次)</h3>
<table>
<tr><th>id</th><th>name</th><th>age</th><th>department</th><th>address</th></tr>
<c:forEach items="${list }"var="stu">
<tr><td>${stu.id }</td><td>${stu.name }</td><td>${stu.age }</td><td>${stu.department }</td><td>${stu.address }</td></tr>
</c:forEach>
</table>
</body>
</html>
- 简单mvc模式添加查询学生信息test
- MVC模式信息查询
- 学生信息的添加与查询
- 学生信息的添加与查询
- 3360 学生信息的添加与查询
- 学生信息的添加与查询
- 学生信息的添加与查询
- 学生信息的添加与查询
- 学生信息的添加与查询 oj
- 基于MVC架构的Web学生信息查询
- 学生信息的添加与查询(java集合框架应用)
- SDUT 3360 学生信息的添加与查询
- 学生信息的添加与查询(Java集合框架)
- Java sdut acm 3360 学生信息的添加与查询
- 一个简单的学生管理系统 能添加学生 查询学生
- 学生信息查询器
- 登录查询学生信息
- 学生信息查询
- win10 安装 python2.7.14 报错2503 解决
- JDK1.8简单了解
- 各种各样的编程语言参考手册大全
- ARM学习笔记--LCD显示
- Python中的Dict类型
- 简单mvc模式添加查询学生信息test
- php 设计模式
- How To Add Bookmark (mark) In Pycharm
- 我们跟8个程序员聊了一晚上,攒齐了来自BAT的吐槽
- 前端性能的几个关键指标分析
- 常用的css代码
- 基础加强-vmware-linux-shell
- Image Formation Pipeline --- 从2D到3D(二)
- 排序