java实现简单的数据库的增删查改,并布局交互界面

时间:2022-09-05 22:30:33
 
 

一、系统简介

1.1、简介 

本系统提供了学生信息管理中常见的基本功能,主要包括管理员。管理员的主要功能有对学生信息进行增加、删除、修改、查找等操作,对信息进行管理,对信息进行修改、查找等操作。

二、功能设计

2.1  需求分析

21世纪是信息化时代,信息化已更快捷更方便为目标来融入各行各业。学校也不例外。当前,我国的学校正在加紧实施信息化建设,其中学生信息管理是相对重要的 一部分。

目前,社会上信息管理系统发展飞快,各个企事业单位都引入了信息化管理软件来管理自己日益增长的各种信息,学生信息管理系统也是有了很快的发展,商业化软件也不少。但本程序功能简介明了,功能较为齐全,而且操作简单。

学生信息管理系统是一个教育单位不可缺少的一部分,它的内容对于学校的管理者来书及其重要,所以学生信息管理系统应该能够为用户提供充足的信息和查询的快捷手段。

2.2 模块详细设计

1、学生信息管理模块

学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。

学生信息管理模块结构图

三、数据库设计

3.1数据库设计图

在数据库学生中的一张数据表:s(学生信息表),下面定义每张表的字段名称和数据类型。

(学生信息表)

字段名称

数据类型

描述

姓名

char (20)

姓名

年龄

int(20)

年龄

性别

char(20)

性别

学号

char (20)

学号

专业

char (20)

专业

爱好

Char(20)

爱好

 

3.2源代码:

  1 package Bp;
2 import java.awt.*;
3
4 import javax.swing.*;
5
6 import java.awt.event.ActionEvent;
7 import java.awt.event.ActionListener;
8 import java.awt.event.MouseEvent;
9 import java.awt.event.MouseListener;
10 import java.sql.Connection;
11 import java.sql.DriverManager;
12 import java.sql.ResultSet;
13 import java.sql.SQLException;
14 import java.sql.Statement;
15 import java.util.logging.Level;
16 import java.util.logging.Logger;
17
18 import javax.swing.*;
19 import javax.swing.event.MouseInputListener;
20
21 public class B {
22
23 public static void main(String[] args) {
24 // TODO Auto-generated method stub
25 // TODO Auto-generated method stub
26 My_object1 my =new My_object1();
27
28 }
29
30 }
31 class My_object1 extends JFrame{
32
33 public JTextField j3;
34 public JTextField j4;
35 ImageIcon img = null;
36 JPanel p;
37 public My_object1(){
38
39 img = new ImageIcon( "C:\\用户\\zhangye123\\图片\\1569976476.jpg ");
40
41 setTitle("登录");
42 setSize(200,150);
43
44 //、、JFrame j=new JFrame();
45 JPanel p=new JPanel();
46 LayoutManager icon = (LayoutManager) new ImageIcon("c:\\用户\\zhangye123\\图片\\1569976476.jpg");
47
48
49 getContentPane().add(p);
50
51 JLabel j1=new JLabel("密码 ");
52 JLabel j2=new JLabel("用户名");
53 JLabel j7=new JLabel(img);
54 j3=new JTextField(10);
55 j4=new JTextField(10);
56 JButton j5=new JButton("确定");
57 JButton j6=new JButton("取消");
58 p.add(j7);
59 p.add(j2);
60 p.add(j3);
61 p.add(j1);
62 p.add(j4);
63 p.add(j5);
64 p.add(j6);
65 j6.addActionListener(new ActionListener() {
66
67 @Override
68 public void actionPerformed(ActionEvent e) {
69 // TODO 自动生成的方法存根
70 if(e.getActionCommand().equals("取消")){
71 System.exit(0);
72 }
73 }
74 });
75 // final String userName = "abc";
76 //final String passwrod = "123";
77
78 j5.addMouseListener(new Mouselen());
79 setLocationRelativeTo(null);
80 setVisible(true);
81 }
82 class Mouselen implements MouseListener{
83
84 @Override
85 public void mouseClicked(MouseEvent e) {
86 // TODO Auto-generated method stub
87 if(!j3.getText().equals("123456"))
88 //System.out.println("用户名错误");
89 JOptionPane.showMessageDialog(null, "账号错误");
90 if(!j4.getText().equals("789"))
91 //System.out.println("密码错误");
92 JOptionPane.showMessageDialog(null, "密码错误");
93 else //System.out.println("输入正确");
94 //JOptionPane.showMessageDialog(null, "登录成功");
95 {
96 //System.exit(0);
97 new guanli();
98 }
99 }
100
101 @Override
102 public void mouseEntered(MouseEvent e) {
103 // TODO Auto-generated method stub
104
105 }
106
107 @Override
108 public void mouseExited(MouseEvent e) {
109 // TODO Auto-generated method stub
110
111 }
112
113 @Override
114 public void mousePressed(MouseEvent e) {
115 // TODO Auto-generated method stub
116
117 }
118
119 @Override
120 public void mouseReleased(MouseEvent e) {
121 // TODO Auto-generated method stub
122
123 }
124
125
126 }
127
128 }
129 class guanli extends JFrame{
130 JButton b1;
131 JButton b2;
132 public guanli(){
133 setSize(550,370);
134 Toolkit tk=getToolkit();
135 Dimension d1=tk.getScreenSize();
136 int w=(int)d1.getWidth();
137 int h=(int)d1.getHeight();
138 setLocation(w/2-550/2, h/2-370/2);
139 setVisible(true);
140 setTitle("信息管理系统");
141 //Image img1=tk.getImage("./src/jame/1-140326154313.jpg");
142 //setIconImage(img1);
143 ImageIcon img2 = new ImageIcon("./src/jame/13.jpg"); //相对路径获取图片
144 JLabel imgLabel = new JLabel(img2); //创建图片标签
145 this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
146 //为标签设置为容器最底层;getLayeredPane()作用是为容器添加深度,允许组件互相重叠;Integer.MIN_VALUE最底层
147 imgLabel.setBounds(0,0,img2.getIconWidth(), img2.getIconHeight());
148 Container cp=getContentPane(); //获取*容器
149 ((JPanel)cp).setOpaque(false); //设置透明以使底层背景图片显示
150 cp.setLayout(null);
151
152 JLabel imgLable=new JLabel();
153 JLabel j2=new JLabel("***欢迎登陆学生管理系统***");
154 JLabel j1=new JLabel("~~请在左侧选择所做的操作~~");
155 JButton b1=new JButton("查询");
156 JButton b2=new JButton("取消");
157 JButton b3=new JButton("修改");
158 JButton b4=new JButton("增添");
159 JButton b5=new JButton("删除");
160 JTextArea t3=new JTextArea(150,150);
161 cp.add(j2);
162 j2.setBounds(220,110,190,25);
163 cp.add(j1);
164 j1.setBounds(220,150,190,25);
165 cp.add(b1);
166 b1.setBounds(0, 70, 90, 25);
167 cp.add(b2);
168 b2.setBounds(250, 250, 70, 25);
169 cp.add(b4);
170 b4.setBounds(0,110,90,25);
171 cp.add(b3);
172 b3.setBounds(0,150,90,25);
173 cp.add(b5);
174 b5.setBounds(0,190,90,25);
175 b2.addActionListener(new ActionListener() {
176
177 @Override
178 public void actionPerformed(ActionEvent e) {
179 // TODO 自动生成的方法存根
180 if(e.getActionCommand().equals("取消")){
181 System.exit(0);
182 }
183 }
184 });
185 b1.addActionListener(new ActionListener() {
186
187 @Override
188 public void actionPerformed(ActionEvent e) {
189 // TODO 自动生成的方法存根
190 new chaxun();
191
192 }
193 });
194 b3.addActionListener(new ActionListener() {
195
196 @Override
197 public void actionPerformed(ActionEvent e) {
198 // TODO 自动生成的方法存根
199 new xiugai();
200
201 }
202 });
203 b4.addActionListener(new ActionListener() {
204
205 @Override
206 public void actionPerformed(ActionEvent e) {
207 // TODO 自动生成的方法存根
208 new zengtian();
209
210 }
211 });
212 b5.addActionListener(new ActionListener() {
213
214 @Override
215 public void actionPerformed(ActionEvent e) {
216 // TODO 自动生成的方法存根
217 new shanchu();
218
219 }
220 });
221 }
222 }
223
224 class chaxun extends JFrame{
225 TextField t1;
226 TextField t2;
227
228 public chaxun(){
229 setTitle("查询");
230 setSize(550, 370);
231 JPanel p1=new JPanel();
232 //getContentPane().add(p1);
233 JLabel j1=new JLabel("学号: " );
234 JLabel j2=new JLabel("姓名: ");
235 JLabel j3=new JLabel("专业: ");
236 TextField t1=new TextField(70);
237 TextField t2=new TextField(70);
238 TextField t3=new TextField(70);
239 JButton b=new JButton("查询");
240 JButton b1=new JButton("取消");
241 ImageIcon img2 = new ImageIcon("./src/1-140326154313.jpg"); //相对路径获取图片
242 JLabel imgLabel = new JLabel(img2); //创建图片标签
243 this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
244 //为标签设置为容器最底层;getLayeredPane()作用是为容器添加深度,允许组件互相重叠;Integer.MIN_VALUE最底层
245 imgLabel.setBounds(0,0,img2.getIconWidth(), img2.getIconHeight());
246 Container p11=getContentPane(); //获取*容器
247 ((JPanel)p11).setOpaque(false); //设置透明以使底层背景图片显示
248 p11.setLayout(null);
249 p11.add(j2);
250 j2.setBounds(50, 70, 70, 25);
251 p11.add(t1);
252 t1.setBounds(150, 70,100, 20);
253 p11.add(j1);
254 j1.setBounds(50, 150, 70, 25);
255 p11.add(t2);
256 t2.setBounds(150,150,100, 20);
257 p11.add(j3);
258 j3.setBounds(50,230,70, 25);
259 p11.add(t3);
260 t3.setBounds(150, 230,100, 20);
261 p11.add(b);
262 b.setBounds(400,140,90,25);
263 p11.add(b1);
264 b1.setBounds(400,170,90,25);
265 setLocationRelativeTo(null);
266 setVisible(true);
267 final String url = "jdbc:mysql://localhost:3306/test";
268 b1.addActionListener(new ActionListener() {
269
270 @Override
271 public void actionPerformed(ActionEvent e) {
272 // TODO 自动生成的方法存根
273 if(e.getActionCommand().equals("取消")){
274 System.exit(0);
275 }
276 }
277 });
278 b.addActionListener(new ActionListener() {
279
280 @Override
281 public void actionPerformed(ActionEvent arg0) {
282 // TODO Auto-generated method stub
283
284
285 try (Connection conn = DriverManager.getConnection(url,"root","1234"))
286 {
287 Statement state = conn.createStatement();
288 ResultSet result = state.executeQuery("SELECT name FROM xuesheng");
289
290
291 } catch (SQLException ex) {
292
293 ex.getSQLState();
294 }
295 }
296 });
297 }
298 }
299
300 class xiugai extends JFrame{
301 public xiugai(){
302 setTitle("修改");
303 setSize(550, 370);
304 JPanel p1=new JPanel();
305 getContentPane().add(p1);
306 setLocationRelativeTo(null);
307 setVisible(true);
308
309 }
310 }
311
312 class zengtian extends JFrame{
313 public zengtian(){
314 setTitle("增添");
315 setSize(550, 370);
316 JPanel p1=new JPanel();
317 getContentPane().add(p1);
318 setLocationRelativeTo(null);
319 setVisible(true);
320 }
321 }
322
323 class shanchu extends JFrame{
324 public shanchu(){
325 setTitle("删除");
326 setSize(550, 370);
327 JPanel p1=new JPanel();
328 getContentPane().add(p1);
329 setLocationRelativeTo(null);
330 setVisible(true);
331 }
332 }

四、程序运行结果及分析

4.1程序运行图

java实现简单的数据库的增删查改,并布局交互界面     java实现简单的数据库的增删查改,并布局交互界面

java实现简单的数据库的增删查改,并布局交互界面

此文链接:http://makaidong.com/zhuzhu520/11674_156814.html

 

转载请注明出处:java实现简单的数据库的增删查改,并布局交互界面

java实现简单的数据库的增删查改,并布局交互界面的更多相关文章

  1. MongoDB数据库(二):增删查改

    MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...

  2. Android SQLite最简单demo实现(增删查改)

    本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍, ...

  3. [课本]JDBC课程6--使用JDBC的DAO模块化--完成数据库的增删查改_工具类JDBCTools四个(Preparedstatement)功能模块的敲定版

    (课本P273-任务九) /**DAO: Data Access Object * 为什么用: 实现功能的模块化,更有利于代码的维护和升级 * 是什么: 访问数据信息的类,包含对数据的CRUD(cre ...

  4. MongoDB数据库进阶 --- 增删查改...

    注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 在之前的文章中,我已经介绍了什么事MongoDB以及怎么在windows下安装MongoDB等等基本知识. ...

  5. android SQLite使用SQLiteOpenHelper类对数据库进行增删查改

    一个简单的例子,当点击按钮时进行相应的操作,效果图如下: 项目代码如下: DatabaseHelper类 package com.example.sqlitedatebasetest; import ...

  6. SSM框架-MyBatis框架数据库的增删查改操作

    话不多说,在User.xml文件中主要写一下操作数据库的sql语句,增,删,查,改是最常见的数据库操作 User.xml文件下:

  7. js实现对数据库的增删查改

    1.查询 复制代码 代码如下: <HTML> <HEAD> <TITLE>数据查询</TITLE> <Script > var conn = ...

  8. 用Jmeter实现mysql数据库的增删查改

    主要是参考虫师的“使用JMeter创建数据库(Mysql)测试”. 1.打开Jmeter,点击测试计划 链接:https://pan.baidu.com/s/1ZtaZ6IC_0DRjSlXkjslY ...

  9. 【c&num; 数据库】对数据库进行增删查改

    1.DataGridView链接数据库 2.链接数据库 using System.Data.SqlClient; SqlConnection con = null; //创建SqlConnection ...

随机推荐

  1. DBA&lowbar;Oracle Archive Log的基本应用和启用(概念)

    2014-11-15 Created By BaoXinjian

  2. ajax 加载不同数据

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Android 系统的四层结构

    从上图中可以看出,Android 系统架构为四层结构,从上层到下层分别是应用程序层(Applications). 应用程序框架层 (Application Framework).系统运行库层(Libr ...

  4. stl binary search

    stl binary search */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola,&q ...

  5. PureMVC&lpar;JS版)源码解析(十二):Facade类

    MVC设计模式的核心元素在PureMVC中体现为Model类.View类和Controller类.为了简化程序开发,PureMVC应用Facade模式.    Facade是Model\View\Co ...

  6. Android 利用剪切板&lpar;clipboardManager &rpar;实现数据传递

    首先是系统剪切板的调用服务: ClipboardManager ClipboardManager=getSystemService(Context.CLIPBOARD_SERVICE); 然后是写入, ...

  7. Google Developing for Android 学习总结

    避免在循环中使用内存 也可理解为在循环中尽可能少创建对象,自定义控件避免在ondraw里面频繁创建paint对象.   尽可能避免内存分配 对象缓存: 常量通过类级别或者静态来进行缓存. 对象池: 同 ...

  8. Support Annotation Library使用详解

    概述 Support Annotation Library是在Android Support Library19.1版本开始引入的一个全新的函数包,它包含了诸多有用的元注解.用来帮助开发者在编译期间发 ...

  9. Database Initialization Parameters for Oracle E-Business Suite Release 12

    In This Document Section 1: Common Database Initialization Parameters For All Releases Section 2: Re ...

  10. opencv3 图像处理(一)图像缩放( python与c&plus;&plus; 实现)

    opencv3 图像处理 之 图像缩放( python与c++实现 ) 一. 主要函数介绍 1) 图像大小变换 Resize () 原型: void Resize(const CvArr* src,C ...