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

一、系统简介

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程序运行图

     

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

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

原文地址:https://www.cnblogs.com/momoyan/p/9144172.html

时间: 2024-09-30 18:42:09

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

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

本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍,希望写出这么一篇博文来记录SQLite的最基本操作,同时也希望能够对android的新手们有些帮助. 参考博客:http://www.20864.com/201247/274.html 这里只是一个示范性的demo,并没实现什么具体功能,只实现了对数据库的增删查改操作. 以下是实现demo的步骤:

ESql标签(对数据库进行增删查改及命令操作)

功能:WebEasy的核心功能之一,作为平台持久层的接口,用于对数据库的所有操作 ·        对数据库进行增删查改及命令操作 查询时会返回一个书包(Bag) 别名为EasySql 用法:<esql module=模块名 [id=书包名] [act=edit|exe|batch|refresh] [p] [commit=true|false|end]>SQL语句</esql> module:连接数据库的模块名,必选项,在WebEasy系统目录下(如D:/webeasy),可以建

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

在之前的文章中,我已经介绍了什么事MongoDB以及怎么在windows下安装MongoDB等等基本知识. 所以这篇进阶的博客就主要介绍以下如何进行数据库的基本操作 --- 增删查改. 数据库相关 显示所有数据库: show dbs 其中admin和local都是默认存在的数据库. 查看当前数据库: db 即当前默认就是test数据库,但是为什么在 show dbs 的时候没有呢?  这是因为test数据库中没有任何数据,所以不会显示,后面会介绍插入数据,插入数据后就会显示了. 创建数据库: u

数据库表增删查改帮助类

1.目的 使用ADO.NET操作连接Sqlserver数据库,增删改查数据表. 2.要求 传入SQL语句和参数,得到结果集或字典集 3.实现办法 封装ado.net对象的参数化方法和SqlDataReader取值方法,将传入的参数加入SqlParameter,将取出的值放入字典集或者对象列表 传参数时通过找出SQL语句中的参数标识找到参数名,通过名或者参数传入的位置找到参数值.然后加入SqlParameter 取值时通过SqlDataReader读取每行数据,以列名为键,值为值 加入字典列表.或

phpStudy7——MySql数据库的增删查改

1. 添加数据: 1 //添加数据 2 3 $strsql = "insert into user_info(userId,userName,phoneNumber,userScore,dataTime) values(null,'$name','$phone','$score',now())"; 4 $result = @mysql_query($strsql); 5 6 //成功添加 7 if($result) 8 { 9 echo true; 10 }else{ 11 echo

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

主要是参考虫师的“使用JMeter创建数据库(Mysql)测试”. 我的环境: MySQL: mysql 5.6.21 jdbc驱动:我用的是5.1.7,低版本的好像有问题,用这个是没问题的 Jmeter:Jmeter2.1.1 1.打开Jmeter,点击测试计划 点击[浏览]按钮,将JDBC驱动添加进来 2.添加线程组 Jmeter性能测试,最重要的就是线程组了,线程组就相当于用户活动 3.添加JDBC Connection Configuration 配置JDBC,其中加上allowMult

数据库---》增删查改

***数据的插入:(增) insert into 表名(字段列表) values(值列表) 如果不写字段列表就要为表添加全部的列数据 其实into也可以省略 每次只能插入一条数据 1.如果字段可以为null或有默认值,也可以在添加值的时候使用null/default代替 ,但不能什么都不填 2.非空字段一定要传入值 3.插入的值必须要符合表的Check约束 4.所有的字段都可以使用单引号’’ 如果本来是字符串的值 没有加‘ ’号,那么会报错,因为会被当成变量 5.日期值一定要加单引号,如果没有加

数据库的增删查改insert,delete,select,update

insert:一般只要参数个数和类型没问题,不会插入异常 INSERT INTO t_pos_dynamic_map(autoid, lt_termno, lt_merchno) VALUES(SEQ_Pos_dynamic_Map_Autoid.NEXTVAL, lTradeInfo.Ltl_Termno, lTradeInfo.Ltl_Merchno); delete: delete from nac_user.t_nac_route_log        删除整表记录,可回滚还原 trun

nodejs连接mysql并进行简单的增删查改

最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs中的mysql模块 npm install mysql 在连接数据库之前,要先引入nodejs连接处理mysql的模块 var mysql = require('mysql'); 类似php连接mysql的方式,编写连接代码 //使用nodejs处理mysql的模块,使用创建连接方法,创建与mysq