湛蓝之海 发表于 2021-9-18 17:50:59

JDBC实现学生管理系统

这篇文章主要为大家详细介绍了JDBC实现学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了jdbc实现学生管理系统的具体代码,供大家参考,具体内容如下
1、学生类


package manage;

import java.util.date;

/**
* @author fanxf
* @since 2018/4/27 17:01
*/
public class student {

private int id;

private int age;

private string sex;

private string name;

private date datecreated;

public int getid() {
    return id;
}

public void setid(int id) {
    this.id = id;
}

public int getage() {
    return age;
}

public void setage(int age) {
    this.age = age;
}

public string getsex() {
    return sex;
}

public void setsex(string sex) {
    this.sex = sex;
}

public string getname() {
    return name;
}

public void setname(string name) {
    this.name = name;
}

public date getdatecreated() {
    return datecreated;
}

public void setdatecreated(date datecreated) {
    this.datecreated = datecreated;
}

public student() {
}

public student(int age, string sex, string name) {
    this.age = age;
    this.sex = sex;
    this.name = name;
}

public student(int id, int age, string sex, string name) {
    this.id = id;
    this.age = age;
    this.sex = sex;
    this.name = name;
}

@override
public string tostring() {
    return "student{" +
      "id=" + id +
      ", age=" + age +
      ", sex='" + sex + '\'' +
      ", name='" + name + '\'' +
      ", datecreated=" + datecreated +
      '}';
}
}
2、jdbc工具类


package manage;

import java.io.ioexception;
import java.sql.*;
import java.util.properties;

/**
* @author fanxf
* @since 2018/4/27 11:06
*/
//数据库的工具类
public class jdbcutils {

private static string driver = "";
private static string url = "";
private static string user = "";
private static string password = "";

static {
    properties p = new properties();
    try {
      p.load(thread.currentthread().getcontextclassloader().getresourceasstream("db.properties"));
    } catch (ioexception e) {
      e.printstacktrace();
    }
    driver = p.getproperty("driver");
    url = p.getproperty("url");
    user = p.getproperty("user");
    password = p.getproperty("password");
    try {
      class.forname(driver);
    } catch (classnotfoundexception e) {
      e.printstacktrace();
    }
}

public static connection getconnection() {
    try {
      return drivermanager.getconnection(url, user, password);
    } catch (sqlexception e) {
      e.printstacktrace();
    }
    return null;
}
//释放的时候要从小到大释放
//connection -> statement --> resultset


public static void release(resultset rs, statement stmt, connection conn) {
    if (rs != null) {
      try {
      rs.close();
      } catch (sqlexception e) {
      e.printstacktrace();
      }
    }
    if (stmt != null) {
      try {
      stmt.close();
      } catch (sqlexception e) {
      e.printstacktrace();
      }
    }

    if (conn != null) {
      try {
      conn.close();
      } catch (sqlexception e) {
      e.printstacktrace();
      }
    }
}
}
3、代码


package manage;

import java.sql.connection;
import java.sql.preparedstatement;
import java.sql.resultset;
import java.sql.sqlexception;
import java.util.scanner;

/**
* @author fanxf
* @since 2018/4/27 17:06
*/
public class managesystem {

private static connection conn = null;
private static preparedstatement ps = null;
private static resultset rs = null;

/**
   * 添加学生数据
   *
   * @param student
   * @return
   */
public static int addstudent(student student) {
    conn = jdbcutils.getconnection();
    int result = 0;
    try {
      ps = conn.preparestatement("insert into student (age, sex, `name`, datecreated) values (?, ?, ?, now())");
      ps.setint(1, student.getage()); //设置第一个参数
      ps.setstring(2, student.getsex()); //设置第二个参数
      ps.setstring(3, student.getname()); //设置第三个参数
      result = ps.executeupdate();
    } catch (sqlexception e) {
      e.printstacktrace();
    } finally {
      jdbcutils.release(null, ps, conn); //关闭连接
    }
    return result;
}

public void add() {
    scanner scan = new scanner(system.in);
    system.out.println("请输入学生年龄");
    int age = scan.nextint();
    system.out.println("请输入学生性别");
    string sex = scan.next();
    system.out.println("请输入学生姓名");
    string name = scan.next();
    student s = new student(age, sex, name);
    int flag = addstudent(s);
    if (flag > 0) {
      system.out.println("添加成功");
    } else {
      system.out.println("添加失败");
    }
}

/**
   * 修改
   *
   * @param student
   * @return
   */
public static int updatestudent(student student) {
    conn = jdbcutils.getconnection();
    int result = 0;
    try {
      ps = conn.preparestatement("update student set age = ?, sex = ?, `name` = ? where id = ?");
      ps.setint(1, student.getage()); //设置第一个参数
      ps.setstring(2, student.getsex()); //设置第二个参数
      ps.setstring(3, student.getname()); //设置第三个参数
      ps.setint(4, student.getid());
      result = ps.executeupdate();
    } catch (sqlexception e) {
      e.printstacktrace();
    } finally {
      jdbcutils.release(null, ps, conn); //关闭连接
    }
    return result;
}

public void update() {
    scanner scan = new scanner(system.in);
    system.out.println("请输入学生id");
    int id = scan.nextint();
    system.out.println("请输入学生年龄");
    int age = scan.nextint();
    system.out.println("请输入学生性别");
    string sex = scan.next();
    system.out.println("请输入学生姓名");
    string name = scan.next();
    student s = new student(id, age, sex, name);
    int flag = updatestudent(s);
    if (flag > 0) {
      system.out.println("更新成功");
    } else {
      system.out.println("更新失败");
    }
}

/**
   * 删除
   *
   * @param id
   * @return
   */
public static int deletestudent(int id) {
    conn = jdbcutils.getconnection();
    int result = 0;
    try {
      ps = conn.preparestatement("delete from student where id = ?");
      ps.setint(1, id); //设置第一个参数
      result = ps.executeupdate();
    } catch (sqlexception e) {
      e.printstacktrace();
    } finally {
      jdbcutils.release(null, ps, conn); //关闭连接
    }
    return result;
}

public void delete() {
    scanner scan = new scanner(system.in);
    system.out.println("请输入学生id");
    int id = scan.nextint();
    int flag = deletestudent(id);
    if (flag > 0) {
      system.out.println("删除成功");
    } else {
      system.out.println("删除失败");
    }
}

public static void main(string[] args) {
    system.out.println("************ 欢迎进入学生管理系统 *************");
    managesystem ms = new managesystem();
    boolean b = true;
    while (b) {
      system.out.println("你想进行以下哪项操作");
      system.out.println("1、添加学生2、更新学生数据3、学生信息查询4、删除学生 0、退出");
      scanner scan = new scanner(system.in);
      int i = scan.nextint();
      switch (i) {
      case 1:
          ms.add();
          break;
      case 2:
          ms.update();
          break;
      case 3:
          system.out.println();
          break;
      case 4:
          ms.delete();
          break;
      default:
          system.out.println("没有该操作选项,请重新来过!");
          main(args);
          break;
      }
    }
}
}
4、properties数据库文件自己配置
数据库字段根据学生类建立!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持CodeAE代码之家。
原文链接:https://blog.csdn.net/feidao0/article/details/81535758

http://www.zzvips.com/article/176840.html
页: [1]
查看完整版本: JDBC实现学生管理系统