iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么在java中使用mysql实现一个学生信息管理系统
  • 717
分享到

怎么在java中使用mysql实现一个学生信息管理系统

javamysql 2023-05-30 21:05:19 717人浏览 薄情痞子
摘要

今天就跟大家聊聊有关怎么在java中使用mysql实现一个学生信息管理系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下import java.awt.Bord

今天就跟大家聊聊有关怎么在java中使用mysql实现一个学生信息管理系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

具体内容如下

import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.jscrollPane;import javax.swing.JTable;import javax.swing.JTextArea;import javax.swing.table.AbstractTableModel;import javax.swing.text.BadLocationException;public class Test extends JFrame { private static final long serialVersionUID = 1L; private JTable table; private JPanel panel; private JScrollPane scrollpane; private JButton button1, button2, button3; private JTextArea text1, text2, text3; private List<Student> stu; public Test() throws BadLocationException, SQLException { super("学生信息"); this.setSize(500, 340); this.add(getJScrollPane(stu), BorderLayout.CENTER); this.add(getJPanel(), BorderLayout.SOUTH); this.setResizable(true); this.setLocation(300, 300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } // 设置JScrollPane方法 private JScrollPane getJScrollPane(List<Student> stu) throws SQLException { if (scrollpane == null) { scrollpane = new JScrollPane(); scrollpane.setViewportView(getJTable(stu)); } return scrollpane; } // 设置JPanel方法 private JPanel getJPanel() { if (panel == null) { panel = new JPanel(); panel.setLayout(new GridLayout(2, 3)); text1 = new JTextArea(); text2 = new JTextArea(); text3 = new JTextArea(); button1 = new JButton("添加"); button2 = new JButton("删除"); button3 = new JButton("更新"); button1.addActionListener(new insert()); button2.addActionListener(new delete()); button3.addActionListener(new update()); text1.setBorder(BorderFactory.createLineBorder(Color.gray, 2)); text2.setBorder(BorderFactory.createLineBorder(Color.gray, 2)); text3.setBorder(BorderFactory.createLineBorder(Color.gray, 2)); text1.setFont(new Font("宋体", Font.BOLD, 16)); text2.setFont(new Font("宋体", Font.BOLD, 16)); text3.setFont(new Font("宋体", Font.BOLD, 16)); text1.setText("id"); text2.setText("name"); text3.setText("age"); panel.add(text1); panel.add(text2); panel.add(text3); panel.add(button1); panel.add(button2); panel.add(button3); } return panel; } // 设置Jtable方法 private void setJTable(JTable table) { table.setFont(new Font("宋体", Font.BOLD, 18)); table.setRowHeight(30); } // 获取Jtable对象方法(该方法具体就是获得jtable对象的时候 一并从数据取出学生信息并放入Jtable表格中) private JTable getJTable(List<Student> stu) throws SQLException { if (table == null) { JDBCDaoImpl jdbc = new JDBCDaoImpl(); ResultSet rs = jdbc.search(); stu = select(rs); jdbc.closeConnection(); table = new JTable(new Table(stu)); setJTable(table); } return table; } // 设置学生信息方法(该方法是用户增加 删除 更新用户操作的具体实现方法 包含了完整性检查) private Student setStu() { if (text1.getText().equals("") || text2.getText().equals("") || text3.getText().equals("")) { return null; } else { Student sd = new Student(); sd.setId(text1.getText()); sd.setName(text2.getText()); sd.setAge(text3.getText()); return sd; } } // 重置输入框为空 private void resetText() { text1.setText(""); text2.setText(""); text3.setText(""); } // 刷新学生信息方法(该方法是重新读取数据库学生的信息 然后返回一个学生的集合 用于刷新Jtable表格对象中的数据) private List<Student> select(ResultSet rs) throws SQLException { List<Student> st = new ArrayList<Student>(); while (rs.next()) { Student s = new Student(); s.setId(rs.getString(1)); s.setName(rs.getString(2)); s.setAge(rs.getString(3)); st.add(s); } return st; } // 添加按钮-监听器(该方法是对添加按钮实现的具体方法 ) class insert implements ActionListener { @Override public void actionPerfORMed(ActionEvent e) { stu = new ArrayList<Student>(); Student sd = new Student(); JDBCDaoImpl jdbc = new JDBCDaoImpl(); sd = setStu(); if (sd != null) { jdbc.insert(sd); ResultSet rs = jdbc.search(); try {  stu = select(rs); } catch (SQLException e1) {  e1.printStackTrace(); } jdbc.closeConnection(); JTable table = new JTable(new Table(stu));//新建一个Jtable 对象 用来盛放增加后的学生信息 setJTable(table);//设置Jtable信息 Test.this.scrollpane.setViewportView(table);//把Jtable设置到Panel resetText(); } else { JOptionPane.showMessageDialog(Test.this, "输入数据不完整"); } } } // 删除按钮-监听器(该方法是对删除按钮实现的具体方法) class delete implements ActionListener { @Override public void actionPerformed(ActionEvent e) { stu = new ArrayList<Student>(); Student sd = new Student(); JDBCDaoImpl jdbc = new JDBCDaoImpl(); sd = setStu(); if (sd != null) { jdbc.delete(sd); ResultSet rs = jdbc.search(); try {  stu = select(rs); } catch (SQLException e1) {  e1.printStackTrace(); } jdbc.closeConnection(); JTable table = new JTable(new Table(stu));//新建一个Jtable 对象 用来盛放增加后的学生信息 setJTable(table);//设置Jtable信息 Test.this.scrollpane.setViewportView(table);//把Jtable设置到Panel resetText(); } else { JOptionPane.showMessageDialog(Test.this, "输入数据不完整"); } } } // 更新按钮-监听器(该方法是对更新按钮实现的具体方法) class update implements ActionListener { @Override public void actionPerformed(ActionEvent e) { stu = new ArrayList<Student>(); Student sd = new Student(); JDBCDaoImpl jdbc = new JDBCDaoImpl(); sd = setStu(); if (sd != null) { jdbc.update(sd); ResultSet rs = jdbc.search(); try {  stu = select(rs); } catch (SQLException e1) {  e1.printStackTrace(); } jdbc.closeConnection(); JTable table = new JTable(new Table(stu));//新建一个Jtable 对象 用来盛放增加后的学生信息 setJTable(table);//设置Jtable信息 Test.this.scrollpane.setViewportView(table);//把Jtable设置到Panel resetText(); } else { JOptionPane.showMessageDialog(Test.this, "输入数据不完整"); } } } // Student类 (用于封装数据信息和数据库表进行映射) public class Student { // 学生的id name age信息 private String id; private String name; private String age; // get&set方法 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } } // JTable 表模式类 (JTable对象 初始化的时候通过 这个Table获取表格的行数、列数、列标题、以及每个单元格存放的数据 具体使用原因放在开头的备注了) public class Table extends AbstractTableModel { List<Student> stu = new ArrayList<Student>(); public Table(List s) { this.stu = s; } public List<Student> getStu() { return stu; } public void setStu(List<Student> stu) { this.stu = stu; } @Override // 获取行数 public int getRowCount() { return stu.size(); } @Override // 获取列数 public int getColumnCount() { // TODO Auto-generated method stub return 3; } @Override public boolean isCellEditable(int rowIndex, int columnIndex) { return true; } @Override // 获取列名字 public String getColumnName(int col) { String res = ""; switch (col) { case 0: res = "ID"; break; case 1: res = "Name"; break; case 2: res = "Age"; break; default: break; } return res; } @Override // 获取具体值 public Object getValueAt(int rowIndex, int columnIndex) { // TODO Auto-generated method stub Object res = ""; Student temp = stu.get(rowIndex); switch (columnIndex) { case 0: res = temp.getId(); break; case 1: res = temp.getName(); break; case 2: res = temp.getAge(); break; default: break; } return res; } } // JDBCDAO类 配置连接数据的信息,链接释放操作和基本增删改查操作 public class JDBCDaoImpl { String driver = "com.Mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf-8&useSSL=false"; String user = "root"; String passwd = "123456"; Connection conn = null; Statement stmt = null; ResultSet rs = null; // 数据库连接开始 public Connection getConnection() { try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url, user, passwd); stmt = conn.createStatement(); } catch (Exception e) { e.printStackTrace(); } return conn; } // 数据库连接释放 public void closeConnection() { if (rs != null) { try {  rs.close();  stmt.close();  conn.close(); } catch (SQLException e) {  // TODO Auto-generated catch block  e.printStackTrace(); } } if (rs == null) { try {  stmt.close();  conn.close(); } catch (SQLException e) {  e.printStackTrace(); } } } // 查找操作 public ResultSet search() { getConnection(); try { String sql = "SELECT * FROM student"; rs = stmt.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; } // 添加操作 public void insert(Student sd) { // TODO Auto-generated method stub getConnection(); try { String sql = "INSERT INTO student(id,name,age)" + "VALUES('" + sd.getId() + "','" + sd.getName() + "','"  + sd.getAge() + "')"; int count = stmt.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } } // 删除操作 public void delete(Student sd) { // TODO Auto-generated method stub getConnection(); try { String sql = "DELETE FROM student WHERE id = '" + sd.getId() + "'"; int count = stmt.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } } // 更新操作 public void update(Student sd) { // TODO Auto-generated method stub getConnection(); try { String sql = "UPDATE student SET name='" + sd.getName() + "',age= '" + sd.getAge() + "'WHERE id = '"  + sd.getId() + "'"; int count = stmt.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } } } // main 方法 public static void main(String[] args) throws BadLocationException, SQLException { new Test().setVisible(true); }}

看完上述内容,你们对怎么在java中使用mysql实现一个学生信息管理系统有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网数据库频道,感谢大家的支持。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么在java中使用mysql实现一个学生信息管理系统

本文链接: https://www.lsjlt.com/news/221537.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在java中使用mysql实现一个学生信息管理系统
    今天就跟大家聊聊有关怎么在java中使用mysql实现一个学生信息管理系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下import java.awt.Bord...
    99+
    2023-05-30
    java mysql
  • 使用java怎么在控制台中实现一个学生信息管理系统
    使用java怎么在控制台中实现一个学生信息管理系统?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重...
    99+
    2023-06-14
  • 学生信息管理系统(JAVA+MYSQL)
    基于Java swing+MySQL实现学生信息管理系统:功能:1录入学生基本信息的功能; 2查询学生基本信息的功能; 3修改学生基本信息的功能 ;4删除学生基本信息的功能 ;5显示所有学生信息的功能;应付一般课设足矣,分享给大家。 通过百...
    99+
    2023-09-26
    java idea mysql
  • java怎样实现学生信息管理系统
    这篇文章将为大家详细讲解有关java怎样实现学生信息管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下 import java.util.Scanner;//导入jav...
    99+
    2023-05-30
    java
  • java+sqlserver实现学生信息管理系统
    目录一.实现效果二.实现代码1.DBUtil.java2.操作程序test.java前提: 1.建立了与sqlserver数据库的连接(JTDS连接sqlserver数据库的包jtd...
    99+
    2024-04-02
  • 怎么使用python实现学生信息管理系统
    本文将为大家详细介绍“怎么使用python实现学生信息管理系统”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“怎么使用python实现学生信息管理系统”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体...
    99+
    2023-06-06
  • 使用python怎么制作一个学生信息管理系统
    使用python怎么制作一个学生信息管理系统?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究...
    99+
    2023-06-14
  • 怎么用VUE实现一个简单的学生信息管理系统
    本篇内容主要讲解“怎么用VUE实现一个简单的学生信息管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用VUE实现一个简单的学生信息管理系统”吧!一、主要功能本次任务主要是使用 VUE ...
    99+
    2023-06-27
  • C++中怎么使用Map实现学生信息管理系统
    本文小编为大家详细介绍“C++中怎么使用Map实现学生信息管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中怎么使用Map实现学生信息管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、 作品...
    99+
    2023-06-30
  • Java实现学生信息管理系统(使用数据库)
    Java基础—学生信息管理系统(使用数据库),供大家参考,具体内容如下 前一段时间写了学生信息管理系统(使用ArrayList),今天再来更新一下使用数据库的管理系统,总...
    99+
    2024-04-02
  • Java实现简单学生信息管理系统
    最近在学习Java,所以写了个学生信息管理系统,话不多说,上代码。 Student.java: package com.mumu; public class Student {...
    99+
    2024-04-02
  • java+io+swing实现学生信息管理系统
    本文实例为大家分享了java+io+swing实现学生信息管理系统的具体代码,供大家参考,具体内容如下 说明: 1.开发环境基于eclipse外加windowbuilder插件。2....
    99+
    2024-04-02
  • python怎么实现学生信息管理系统
    本文将为大家详细介绍“python怎么实现学生信息管理系统”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“python怎么实现学生信息管理系统”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下...
    99+
    2023-06-06
  • HTML+JavaScript+Servlet+MySQL实现一个简单的学生信息管理系统
    话不多说,先上效果图 1、登录界面 学生信息管理界面 展示信息 添加信息 修改信息 3、课程信息管理界面 4、成绩信息管理界面 部分代码 登录 学生信...
    99+
    2023-10-11
    servlet mysql html javascript
  • 用python实现学生信息管理系统
    用Python实现学生信息管理系统,供大家参考,具体内容如下 系统功能有: 1.录入,查找,删除,修改学生信息2.学生成绩排名3.显示全部学生信息 代码如下: filename = ...
    99+
    2024-04-02
  • 怎么使用C++代码实现学生信息管理系统
    今天小编给大家分享一下怎么使用C++代码实现学生信息管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。编译环境:Micr...
    99+
    2023-06-30
  • java+sqlserver如何实现学生信息管理系统
    小编给大家分享一下java+sqlserver如何实现学生信息管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前提:建立了与sqlserver数据库的连接(...
    99+
    2023-06-22
  • Java实现学生信息管理系统IO版本
    学生信息管理系统IO版本代码实现(java),供大家参考,具体内容如下 之前写过的一个学生信息管理系统是用集合类来写的,但是不能实现代码在文档中的存储功能,每次运行过后都得重新输入数...
    99+
    2024-04-02
  • java控制台实现学生信息管理系统
    简介 最近学了java基础后对以前不会写的作业深有感触,想起以前各种在网上找资料找别人的代码参考,所以今天特地写了了简单的基于控制台的学生信息管理系统供还在学基础的同学参考,写的有问...
    99+
    2024-04-02
  • python tkinter怎么实现学生信息管理系统
    这篇文章给大家分享的是有关python tkinter怎么实现学生信息管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下初学python,代码写的比较繁杂,系统功能还有完善的空间系统使用...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作