Java课程设计,连接数据库的车辆信息管理系统,

本文介绍了使用Java进行车辆信息管理系统的课程设计,系统包括用户登录注册、车辆信息的增删改查等功能。通过JDBC连接MySQL数据库,利用AWT和Swing构建图形界面,并应用了基本的数据结构和算法。
摘要由CSDN通过智能技术生成

设计任务:设计了基于Java的车辆信息管理系统,实现了用户的登录注册功能以及对车辆信息的增删改查功能。

完成任务的思路、方法与算法

思路

1.数据库的设计与创建,用户表和车辆信息表的设计与创建

2.设计与编写JDBC连接数据库

3.登录界面的设计与创建

4.注册界面的设计与创建

5.主界面的设计与创建

6.增加车辆信息的界面设计与创建

7.删除车辆信息的界面设计与创建

8.修改车辆信息的界面设计与创建

9.查询车辆信息的界面设计与创建

方法和算法

  1. 使用关系型数据库MySQL,设计考虑到数据结构,数据类型,增删改查等SQL语句等,Java提供了访问数据库的API:JDBC。通过JDBC,Java程序可以连接数据库,执行SQL语句,访问数据库中的数据。
  2. 程序界面的设计使用到了AWT,Java最早的GUI工具包,提供了一些基本的窗口,按钮,文本框,下拉列表等组件,swing在AWT的基础上进行了扩展,提供了更多的组件和更好的外观,Swing组件都是纯Java代码实现的,因此具有跨平台性。
  3. 信息管理系统通常需要处理大量的数据,需要使用算法和数据结构,Java提供了多种常用的算法和数据结构,本系统使用到了顺序结构,选择结构,循环结构。
  4. 数据库中表的结构设计图示

  5.  

    核心程序(对主要的语句要加注释)

    JDBC.java

    package 程序设计;
    import java.sql.*;
    import javax.swing.JOptionPane;
    public class JDBC {
       
    Connection conn;
       
    Statement st;
       
    String uri;
       
    public Statement connection() {
           
    try{
               
    Class.forName("com.mysql.cj.jdbc.Driver");  //1
                
    uri="jdbc:mysql://localhost:3306/infosystem?user=root&password=123456&useSSL=false";
               
    conn=DriverManager.getConnection(uri);  //2
               
    st=conn.createStatement();   //3
           
    }catch(ClassNotFoundException ex) {
                ex.printStackTrace();
            }
    catch(SQLException ex) {
                ex.printStackTrace();
            }
           
    return st;
        }
    }

    Register.java

    package 程序设计;
    
      
    
      import javax.swing.*;
    
      import java.sql.*;
    
      import java.awt.Font;
    
      import java.awt.event.*;
    
      public class Register extends JFrame{
    
        public JButton button1,button2;//事件源,按钮
    
        public JTextField field1,field2;
    
        public JLabel label,label1,label2;
    
        public Register(){
             //创建构造方法,设计界面,构造方法初始化对象的数据
    
            this.setTitle("注册账户");//this引用当前对象
    
            init();
    
            this.setVisible(true);
    
            this.setBounds(600,300,400,350);
    
            JLabel background = new JLabel(new ImageIcon("D:/javapicture/3.jpeg"));
    
            this.add(background);
    
            background.setBounds(0, 0, this.getWidth(), this.getHeight());
    
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗口关闭时默认的操作为退出程序
    
        }
    
        public void init() {
             //普通方法,设置组件的大小位置
    
            this.setLayout(null);//设置当前容器的布局管理器为null,组件的位置大小手动设置。
    
      
    
            Font ffont=new Font("隶书",Font.BOLD,28);
    
            Font font=new Font("黑体",Font.BOLD,15);
    
            label=new JLabel("注册您的账户");
    
            label1=new JLabel("新用户姓名:");
    
            label2=new JLabel("新用户密码:");
    
      
    
            label.setFont(ffont);
    
            label1.setFont(font);
    
            label2.setFont(font);
    
      
    
            label.setBounds(100,20,200,30);
    
            label1.setBounds(80,80,90,30);
    
            label2.setBounds(80,120,90,30);
    
      
    
            this.add(label);
    
            this.add(label1);
    
            this.add(label2);
    
      
    
            field1=new JTextField(20);
    
            field2=new JTextField(20);
    
      
    
            field1.setBounds(190,80,140,25);
    
            field2.setBounds(190,120,140,25);
    
      
    
            this.add(field1);
    
            this.add(field2);
    
      
    
            button1=new JButton("确定");
    
            button1.setBounds(80,220,70,30);
    
            this.add(button1);
    
      
    
            button2=new JButton("返回");
    
            button2.setBounds(240,220,70,30);
    
            this.add(button2);
    
      
    
            Handler1 handle=new Handler1();//创建监听器对象
    
            handle.setFrame(this);
    
            button1.addActionListener(handle);//为确定按钮添加监听器
    
            button2.addActionListener(handle);//为返回按钮添加监听器
    
        }
    
        public static void main(String[] args) {
             //main方法
    
            Register s=new Register();
    
        }
    
    }
    
      class Handler1 implements ActionListener{
             //Handler类实现ActionListener接口,可以处理用户在界面上点击按钮等操作所触发的事件
    
        Register frame;
    
        public void setFrame(Register f) {
             //普通方法
    
            frame=f;
    
        }
    
        public void actionPerformed(ActionEvent e) {
             //普通方法
    
            String s1=frame.field1.getText();//获取事件源赋值给s1
    
            String s2=frame.field2.getText();//获取事件源赋值给s2
    
            JDBC m=new JDBC();//连接数据库
    
            if(e.getSource()==frame.button1) {
             //获取事件源(点击确定按钮)
    
                ResultSet rs;//定义一个结果集变量
    
                try{
             //执行sql语句查询将数据库的结果集赋值给rs
    
                    rs=m.connection().executeQuery("select * from login where name='"+s1+"' and password='"+s2+"'");
    
                    if(rs.next()) {
             //判断输入的用户密码是否在数据库中,若在就注册失败,否则注册成功
    
                        JOptionPane.showMessageDialog(null, "已存在,注册失败!请重新输入!");//对话框
    
                    }else {
             //注册成功,往数据库插入信息
    
                        m.connection().executeUpdate("insert into login values('" + s1 + "','" + s2 + "')");
    
                        JOptionPane.showMessageDialog(null, "注册成功!");
    
                        frame.dispose();//窗口释放
    
                        new LoginFrame().setVisible(true);//跳转登录注册界面
    
                    }
    
                }
    
                catch(SQLException ex) {
    
                    ex.printStackTrace();
    
                }
    
            }
    
            if(e.getSource()==frame.button2) {
             //获取事件源(点击返回按钮)
    
                JOptionPane.showMessageDialog(null, "返回成功!");
    
                frame.dispose();//窗口释放
    
                new LoginFrame().setVisible(true);//跳转登录注册界面
    
            }
    
        }
    
    }

    LoginFrame.java

    package 程序设计;
    
      import java.sql.*;
    
      import java.awt.Color;
    
      import java.awt.Dimension;
    
      import java.awt.Font;
    
      import java.awt.Toolkit;
    
      import java.awt.event.ActionEvent;
    
      import java.awt.event.ActionListener;
    
      import javax.swing.*;
    
      public class LoginFrame extends JFrame{
             //创建LogonFrame类并继承JFrame类
    
        public JButton button1,button2,button3;//登录、注册、取消按钮
    
        public JTextField field1;//用户ID文本框
    
        public JPasswordField field2;//密码框
    
        public JLabel label1,label2;//标签
    
        public LoginFrame(){
             //创建构造方法,设计界面,构造方法初始化对象的数据
    
            this.setTitle("登录注册账户");
    
            init();
    
            this.setVisible(true);//this引用当前对象
    
            this.setResizable(false);
    
            this.setBounds(600,300,400,350);
    
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗口关闭时默认的操作为退出程序
    
            JLabel background = new JLabel(new ImageIcon("D:/javapicture/3.jpeg"));
    
            this.add(background);
    
            background.setBounds(0, 0, this.getWidth(), this.getHeight());
    
        }
    
        public void init() {
             //普通方法,设置组件的大小位置
    
            this.setLayout(null);//设置当前容器的布局管理器为null,组件的位置大小手动设置。
    
            Font ffont=new Font("黑体",Font.BOLD,15);
    
      
    
            label1=new JLabel("用户姓名:");
    
            label1.setFont(ffont);
    
            label1.setBounds(50,80,90,30);
    
            this.add(label1);
    
      
    
            label2=new JLabel("密  码:");
    
            label2.setFont(ffont);
    
            label2.setBounds(60,120,90,30);
    
            this.add(label2);
    
      
    
            field1=new JTextField();
    
            field1.setBounds(120,80,170,30);
    
            this.add(field1);
    
      
    
            field2=new JPasswordField();
    
            field2.setBounds(120,120,170,30);
    
            this.add(field2);
    
      
    
            button1=new JButton("登录");
    
            button1.setBounds(50,180,70,30);
    
            this.add(button1);
    
      
    
            button2=new JButton("注册");
    
            button2.setBounds(140, 180, 70, 30);
    
            this.add(button2);
    
      
    
            button3=new JButton("退出");
    
            button3.setBounds(230, 180, 70, 30);
    
            this.add(button3);
    
      
    
            Handler handle=new Handler();//创建监听器对象
    
            handle.setFrame(this);
    
            button1.addActionListener(handle);//为登录按钮添加监听器
    
            button2.addActionListener(handle);//为注册按钮添加监听器
    
            button3.addActionListener(handle);//为取消按钮添加监听器
    
        }
    
        public static void main(String[] args) {
             //main方法,程序执行入口
    
            LoginFrame f=new LoginFrame();
    
        }
    
    }
    
      class Handler implements ActionListener {
             //创建Handler类实现ActionListener接口
    
        LoginFrame frame;//Hander类与LoginFrame连接起来
    
        public void setFrame(LoginFrame f) {
             //通过setFrame()方法将LoginFrame对象传递给Haneder类
    
            frame=f;
    
        }
    
        public void actionPerformed(ActionEvent e) {
    
            String s1=frame.field1.getText();//获取field1文本框的内容
    
            String s2=new String(frame.field2.getPassword());//获取field2密码框的内容
    
            JDBC m=new JDBC();//创建数据库对象,为了连接数据库
    
            if(e.getSource()==frame.button1) {
             //获取事件源
    
                ResultSet rs;//定义一个结果集变量
    
                try{
    
                    //执行sql语句将数据库的结果集赋值给rs
    
                    rs=m.connection().executeQuery("select * from login where name='"+s1+"' and password='"+s2+"'");
    
                    if(rs.next()) {
             //判断输入的账号密码是否在数据库中,若在就登录成功,否则登录失败
    
                        JOptionPane.showMessageDialog(null, "登录成功!");//对话框
    
                        frame.dispose();
    
                        new MainFrame().setVisible(true);//跳转到主界面
    
                    }
    
                    else
    
                        JOptionPane.showMessageDialog(null, "登录失败,请重新登录或注册!");
    
                }
    
                catch(SQLException ex) {
    
                    ex.printStackTrace();
    
                }
    
            }
    
            if(e.getSource()==frame.button2) {
             //获取事件源点击注册按钮
    
                frame.dispose();//窗口释放
    
                new Register();//跳转到注册界面
    
            }
    
            if(e.getSource()==frame.button3) {
             //获取事件源点击退出按钮
    
                System.exit(0);//退出
    
            }
    
        }
    
    }

    MainFrame.java

    package 程序设计;
    
      import java.awt.Color;
    
      import java.awt.Font;
    
      import 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值