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

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

相关文章

  • nacos将服务注册到不同的命名空间下问题

    nacos将服务注册到不同的命名空间下问题

    Nacos是SpringCloudAlibaba架构中最重要的组件,提供注册中心、配置中心和动态DNS服务三大功能,如果需要配置多个数据库适配的环境,启动服务时需要将服务注册到不同的命名空间下,并配置新部署的网关服务ip和端口或者域名
    2024-12-12
  • 纯Java实现数字证书生成签名的简单实例

    纯Java实现数字证书生成签名的简单实例

    下面小编就为大家带来一篇纯Java实现数字证书生成签名的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • gson ajax 数字精度丢失问题的解决方法

    gson ajax 数字精度丢失问题的解决方法

    下面小编就为大家带来一篇gson ajax 数字精度丢失问题的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • SpringSecurity授权实现基本思路

    SpringSecurity授权实现基本思路

    本文介绍了SpringSecurity中使用FilterSecurityInterceptor进行权限校验的基本方法,通过SecurityContextHolder获取Authentication中的权限信息,感兴趣的朋友跟随小编一起看看吧
    2024-10-10
  • java之构造器的重载问题

    java之构造器的重载问题

    这篇文章主要介绍了java之构造器的重载问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 微信支付java版本之JSAPI支付+发送模板消息

    微信支付java版本之JSAPI支付+发送模板消息

    这篇文章主要介绍了微信支付java版本之JSAPI支付,发送模板消息,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 详解如何使用maven生成可以执行的jar

    详解如何使用maven生成可以执行的jar

    这篇文章主要介绍了详解如何使用maven生成可以执行的jar,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Java并发包之CopyOnWriteArrayList类的深入讲解

    Java并发包之CopyOnWriteArrayList类的深入讲解

    这篇文章主要给大家介绍了关于Java并发包之CopyOnWriteArrayList类的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 利用Java和c语言写一个计算器

    利用Java和c语言写一个计算器

    这篇文章我们就来分享如何利用Java和c语言来写一个计算器,文章附有代码详细说明,感兴趣得小伙伴可以参考下面文章得具体内容
    2021-10-10
  • springboot集成KoTime的配置过程

    springboot集成KoTime的配置过程

    koTime是一个springboot项目性能分析工具,通过追踪方法调用链路以及对应的运行时长快速定位性能瓶颈,这篇文章主要介绍了springboot集成KoTime,需要的朋友可以参考下
    2022-06-06

最新评论