JavaWeb实现学生信息管理系统(1)

 更新时间:2021年09月10日 11:56:30   作者:笑-_-笑  
这篇文章主要为大家详细介绍了JavaWeb实现学生信息管理系统第一篇,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

这是一个很简单的学生信息管理系统,会用到很多小知识,比如说:

  • 数据库连接池
  • DBUtils
  • JSP、EL、JSTL
  • MVC设计模式

JavaWeb之简单的学生信息管理系统(一)
JavaWeb之简单的学生信息管理系统(二)
JavaWeb之简单的学生信息管理系统(三)

一、需求分析

实现一个简单的学生信息管理系统,具体实现功能有如下:

1.查询学生的息并列表展示
2.添加学生信息
3.删除学生信息
4.更新(修改)学生信息
5.模糊查询

二、准备工作

1. 创建数据库stus以及创建数据库表stu

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

<c3p0-config>
  <default-config>
    <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost/stus?useUnicode=true&amp;characterEncoding=utf8&amp;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】

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】

package com.util;

public class TestUtils {
 /**
  * 判断某一个字符串是否为空
  * @param s
  * @return
  */
 public static boolean isEmpty(String s) {
  return s == null || s.length() == 0;
 }
}

3. JDBCUtils02.java

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;
  }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java 实现贪吃蛇游戏的示例

    Java 实现贪吃蛇游戏的示例

    这篇文章主要介绍了Java 如何实现贪吃蛇游戏,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-03-03
  • Java利用套接字实现应用程序对数据库的访问

    Java利用套接字实现应用程序对数据库的访问

    所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。这篇文章主要介绍了Java利用套接字实现应用程序对数据库的访问,感兴趣的可以了解一下
    2022-09-09
  • MySql多表查询 事务及DCL

    MySql多表查询 事务及DCL

    这篇文章主要介绍了MySql多表查询 、事务、DCL的相关资料,需要的朋友可以参考下面文章内容
    2021-09-09
  • 详解Http协议以及post与get区别

    详解Http协议以及post与get区别

    这篇文章主要介绍了详解Http协议以及post与get区别,通过分别说明Http协议以及get与post各自的概念,再到两者作比较有着详细的说明,希望对你有所帮助
    2021-06-06
  • 深入理解Java中的HashMap的实现机制

    深入理解Java中的HashMap的实现机制

    这篇文章主要介绍了深入理解Java中的HashMap的实现机制,同时也有助于理解Java中对于哈希函数的相关处理方式,需要的朋友可以参考下
    2015-07-07
  • springboot集成druid,多数据源可视化,p6spy问题

    springboot集成druid,多数据源可视化,p6spy问题

    这篇文章主要介绍了springboot集成druid,多数据源可视化,p6spy问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java实现FIFO任务调度队列策略

    Java实现FIFO任务调度队列策略

    在工作中,很多高并发的场景中,我们会用到队列来实现大量的任务请求。当任务需要某些特殊资源的时候,我们还需要合理的分配资源,让队列中的任务高效且有序完成任务。本文将为大家介绍通过java实现FIFO任务调度,需要的可以参考一下
    2021-12-12
  • springmvc 获取@Requestbody转换的异常处理方式

    springmvc 获取@Requestbody转换的异常处理方式

    这篇文章主要介绍了springmvc 获取@Requestbody转换的异常处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • SpringBoot中使用@Value注解注入详解

    SpringBoot中使用@Value注解注入详解

    这篇文章主要介绍了SpringBoot中的@Value注入详解,在SpringBoot中,@Value注解可以注入一些字段的普通属性,并且会自动进行类型转换,本文对这些类型进行总结,需要的朋友可以参考下
    2023-08-08
  • Intellij IDEA插件开发入门详解

    Intellij IDEA插件开发入门详解

    这篇文章主要介绍了Intellij IDEA插件开发入门详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02

最新评论