这个是java连接mysql数据库的一个简单学生系统,通过jdbc连接数据库。

工具类

JDBCuntils.

package Student;

import java.io.IOException;
import java.sql.*;
import java.util.Properties; //数据库的工具类
public class JDBCuntils { 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();
}
}
}
}

数据库配置文件(这个是连接你自己的数据库的信息,在包里创建就好)

db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db3
user=root
password=1767737316.
#<!-- \u914D\u7F6E\u521D\u59CB\u5316\u5927\u5C0F -->
initialSize=6
#<!-- \u914D\u7F6E\u521D\u59CB\u5316\u6700\u5927\u8FDE\u63A5\u6570 -->
maxActive=20
#<!-- \u914D\u7F6E\u521D\u59CB\u5316\u6700\u5C0F\u8FDE\u63A5\u6570 -->
minIdle=3
#<!-- \u914D\u7F6E\u83B7\u53D6\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u7684\u65F6\u95F4,1\u5206\u949F\u5355\u4F4D\u6BEB\u79D2 -->
maxWait=60000

Student.java

package Student;

import java.util.Date;
public class Student {
private int id;
private String name;
private int score;
public Student(int id, String name,int score) { this.id = id;
this.name = name;
this.score = score;
} public Student() { }
public String toString() {
return "Student{" +
"name='" + id + '\'' +
", age=" + name +
", sex='" + score + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(Integer score) {
this.score = score;
} }

Studentmannger.java

package Student;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner; /**
* @author fanxf
* @since 2018/4/27 17:06
*/ public class Studentmannger { private static Connection conn = null;
private static PreparedStatement ps = null;
private static ResultSet rs = null; /**
* 添加学生数据
*
* @param student
* @return
* @throws SQLException
*/
public static int addStudent(Student student) {
conn = JDBCuntils.getConnection();
int result = 0;
try {
ps = conn.prepareStatement("INSERT INTO student (id,`name`,score) VALUES (?, ?, ?)");
ps.setInt(1, student.getId()); //设置第一个参数
ps.setString(2, student.getName()); //设置第二个参数
ps.setInt(3, student.getScore()); //设置第三个参数
result = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCuntils.release(null, ps, conn); //关闭连接
}
return result;
} public void add() {
Scanner scan = new Scanner(System.in);
System.out.println("请输入学生学号");
int id = scan.nextInt();
System.out.println("请输入学生姓名");
String name = scan.next();
System.out.println("请输入学生成绩");
int score = scan.nextInt();
Student s = new Student(id, name, score); int flag = addStudent(s);
if (flag > 0) {
System.out.println("添加成功");
} else {
System.out.println("添加失败");
}
} /**1
*
* 修改
*
* @param student
* @return
*/
public static int updateStudent(Student student) {
conn = JDBCuntils.getConnection();
int result = 0;
try {
ps = conn.prepareStatement("UPDATE student SET id = ?, `name` = ?, score = ? WHERE id = ?");
ps.setInt(1, student.getId()); //设置第一个参数
ps.setString(2, student.getName()); //设置第二个参数
ps.setInt(3, student.getScore()); //设置第三个参数
ps.setInt(4, student.getId());
result = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCuntils.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("请输入学生姓名");
scan.nextLine();
String name = scan.nextLine(); System.out.println("请输入学生成绩");
int score = scan.nextInt(); Student s = new Student(id, name, score );
int flag = updateStudent(s);
if (flag > 0) {
System.out.println("更新成功");
} else {
System.out.println("更新失败");
}
} /**
* 删除
*
* @param id
* @return
* @throws SQLException
*/ public static void select() throws SQLException {
Scanner scan = new Scanner(System.in);
conn = JDBCuntils.getConnection();
int n;
String sql = "select * from student where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
System.out.println("请输入要查询的学号");
n = scan.nextInt();
ps.setInt(1, n);
ResultSet rs = ps.executeQuery();
//将sql语句传至数据库,返回的值为一个字符集用一个变量接收
while(rs.next()){ //next()获取里面的内容
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3));
//getString(n)获取第n列的内容
//数据库中的列数是从1开始的
}
}
public static int deleteStudent(int id) {
conn = JDBCuntils.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 {
JDBCuntils.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) throws SQLException {
System.out.println("************ 欢迎进入学生管理系统 *************");
Studentmannger ms = new Studentmannger();
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:
ms.select();
break;
case 4:
ms.delete();
break;
default:
System.out.println("没有该操作选项,请重新来过!");
main(args);
break;
}
}
}
}

工程目录:

运行截图:

jdbc简单学生管理系统的更多相关文章

  1. Java写一个简单学生管理系统

    其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组.List等等来写出一个简易的学生管理系统,二.牛逼一点的大神则用数据库+swing来 ...

  2. 简单学生管理系统HTML前端页面

    效果图: 实现代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> ...

  3. javaee三层架构案例--简单学生管理系统

    背景 学了jdbc.jsp等需要串起来,不然会忘记 项目环境 win10 jdk11 mysql8.0.13 jar包 c3p0-0.9.5.2 commons-dbutils-1.7 jstl mc ...

  4. C++实现简单学生管理系统

    在网上看到的一个C++的小项目,我自己码了一遍,然后记录下我的理解以及像我这种菜鸟在整个过程中产生的问题. 我将我知道的尽可能详细的写下来,如有错误请联系我哈,QQ:920209178. 原文地址:h ...

  5. C++ 实现简单命令行学生管理系统

    C++ 实现简单命令行学生管理系统 预览: 编译环境是macOS.system("clear") 在windows下请换成 system("cls") #inc ...

  6. php实现简单的学生管理系统

    php实现学生管理系统 一.效果 二.代码框架 functions文件夹里面是封装的mysqli的数据库操作函数和一个跳转的函数 student文件夹里面就是学生管理系统的主界面 applicatio ...

  7. java简单学生成绩管理系统

    题目要求: 一. 数据结构要求:(5 分) 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishi ...

  8. Java实现功能简单的学生管理系统(附带源代码)

    这几天Java学了点新的知识,打算要用这些知识做一个比较简单的管理系统,实战一下子,代码中的功能简洁,可能不多,但是作为一个练手来了解一个项目是怎么样一点一点思考的还是不错的 一.代码中要实现的功能 ...

  9. JDBC学生管理系统--处理分页显示

    分页的思想: 假设一共有104条数据,每页显示10条数据: select * from student limit 0,10; 页数是index,第index页,对应的sql语句是: select * ...

随机推荐

  1. python类、继承

    Python 是一种面向对象的编程语言.Python 中的几乎所有东西都是对象,拥有属性和方法.类(Class)类似对象构造函数,或者是用于创建对象的"蓝图". 一.python ...

  2. RIAD配置

    一.RIAD 磁盘阵列介绍 二.阵列卡介绍 三.案例举例   一.RAID磁盘阵列介绍 是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列 把 ...

  3. Java学习笔记--常用容器

    容器 1. 出现原因 解决程序运行时需要创建新对象,在程序运行前不知道运行的所需的对象数量甚至是类型的问题. Java中提供了一套集合类来解决这些问题包括:List.Set.Queue.Map 2. ...

  4. python安装easyinstall/pip出错

    在Windows中装了python3.6,自然还要装pip.按度娘的提供的方法先下载easyinstall,然后在CMD下输入: python ez_setup.py 结果报错 ........... ...

  5. 一起学习PHP中GD库的使用(三)

    上篇文章我们已经学习了一个 GD 库的应用,那就是非常常用的制作验证码的功能.不过在现实的业务开发中,这种简单的验证码已经使用得不多了,大家会制作出更加复杂的验证码来使用.毕竟现在的各种外挂软件已经能 ...

  6. git tag标签

    列出标签 # 默认按字母排序显示 $ git tag # 模糊匹配查找标签 $ git tag -l "v2.8.5*" 创建标签 # 创建附注标签 $ git tag -a v1 ...

  7. JDK1.8源码(三)——java.lang.String类

    一.概述 1.介绍 String是一个final类,不可被继承,代表不可变的字符序列,是一个类类型的变量.Java程序中的所有字符串字面量(如"abc")都作为此类的实例实现,&q ...

  8. javascript 标签轮播

    html <div id="banner-switch"> <!-- 切换内容 --> <div class="notice-content ...

  9. python线程threading

    线程示例: import threading import time # 唱歌任务 def sing(): # 扩展: 获取当前线程 # print("sing当前执行的线程为:" ...

  10. 一文彻底掌握Apache Hudi异步Clustering部署

    1. 摘要 在之前的一篇博客中,我们介绍了Clustering(聚簇)的表服务来重新组织数据来提供更好的查询性能,而不用降低摄取速度,并且我们已经知道如何部署同步Clustering,本篇博客中,我们 ...