这是一个很简单的学生信息管理系统,会用到很多小知识,比如说:
- 数据库连接池
- DBUtils
- JSP、EL、JSTL
- MVC设计模式
JavaWeb之简单的学生信息管理系统(一)
JavaWeb之简单的学生信息管理系统(二)
JavaWeb之简单的学生信息管理系统(三)
一、需求分析
实现一个简单的学生信息管理系统,具体实现功能有如下:
1.查询学生的息并列表展示
2.添加学生信息
3.删除学生信息
4.更新(修改)学生信息
5.模糊查询
二、准备工作
1. 创建数据库stus以及创建数据库表stu
1
2
3
4
5
6
7
8
9
10
11
|
CREATE DATABASE stus;
USE stus;
CREATE TABLE stu (
sid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR (20),
gender VARCHAR (5),
phone VARCHAR (20),
birthday DATE ,
hobby VARCHAR (50),
info VARCHAR (200)
);
|
2. 项目框架
3. 导入项目需要的jar包
4. C3P0的配置文件c3p0-config.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
< c3p0-config >
< default-config >
< property name = "driverClass" >com.mysql.cj.jdbc.Driver</ property >
< property name = "jdbcUrl" >jdbc:mysql://localhost/stus?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT</ property >
< property name = "user" >root</ property >
< property name = "password" >root</ property >
< property name = "initialPoolSize" >10</ property >
< property name = "maxIdleTime" >30</ property >
< property name = "maxPoolSize" >100</ property >
< property name = "minPoolSize" >10</ property >
< property name = "maxStatements" >200</ property >
</ default-config >
</ c3p0-config >
|
三、代码准备
1. 实现Student类
【备:com.domain包下的Student.java】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
package com.domain;
import java.util.Date;
/**
* 这是封装的学生对象Bean
* @author Administrator
*
*/
public class Student {
private int sid;
private String sname;
private String gender;
private String phone;
private String hobby;
private String info;
private Date birthday;
public Student() {
super ();
}
public Student(String sname, String gender, String phone, String hobby, String info, Date birthday) {
super ();
this .sname = sname;
this .gender = gender;
this .phone = phone;
this .hobby = hobby;
this .info = info;
this .birthday = birthday;
}
public int getSid() {
return sid;
}
public void setSid( int sid) {
this .sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this .sname = sname;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this .gender = gender;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this .phone = phone;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this .birthday = birthday;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this .hobby = hobby;
}
public String getInfo() {
return info;
}
public void setInfo(String info) {
this .info = info;
}
}
|
2. 写一个类,判断字符串是否相等【TestUtils.java】
1
2
3
4
5
6
7
8
9
10
11
12
|
package com.util;
public class TestUtils {
/**
* 判断某一个字符串是否为空
* @param s
* @return
*/
public static boolean isEmpty(String s) {
return s == null || s.length() == 0 ;
}
}
|
3. JDBCUtils02.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
package com.util;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class JDBCUtil02 {
static ComboPooledDataSource dataSource = null ;
static {
dataSource = new ComboPooledDataSource();
}
public static DataSource getDataSource() {
return dataSource;
}
/**
* 获得连接对象
* @return
* @throws SQLException
*/
public static Connection getConn() throws SQLException{
return dataSource.getConnection();
}
/**
* 释放资源
* @param conn
* @param st
* @param rs
*/
public static void release(Connection conn , Statement st , ResultSet rs){
closeRs(rs);
closeSt(st);
closeConn(conn);
}
public static void release(Connection conn , Statement st){
closeSt(st);
closeConn(conn);
}
private static void closeRs(ResultSet rs){
try {
if (rs != null ){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
rs = null ;
}
}
private static void closeSt(Statement st){
try {
if (st != null ){
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
st = null ;
}
}
private static void closeConn(Connection conn){
try {
if (conn != null ){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
conn = null ;
}
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_44270855/article/details/104236494