• 第十四周总结


    课程总结:

    本周讲了Java的数据库编程。

    1.JDBC

    他的意思是java数据库连接,他可以方便的实现多种关系型数据库的统一操作,由一组用java语句编写的类和接口组成。

    2.JDBC驱动分类:

    1)JDBC-ODBC桥驱动;
    2)JDBA本地驱动;
    3)JDBC网络驱动;
    4)本地协议纯JDBC驱动;

    3.JDBC的主要操作类及接口


    4.MySQL的命令




    5.查询数据

    6.连接数据库的操作:

    JDBC的连接地址实际上是由以下的3个部分组成。
    (1)jabc 协议:JDBC URL 中的协议总是 jdbc。
    (2)子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如
    MySQL。
    (3)子名称: 种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准URL 命名约定,
    如//localhost:3306/mldn

    7.Connection接口的常用方法:


    8.ResultSet接口

    在JDBC的操作中数据库的所有查询记录将使用ResultSet进行接受,并使用它取得内容

    实验总结:

    实验代码:

    package Rectangle;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    
    import static javax.swing.KeyStroke.*;
    
    public class TextPad  implements ActionListener {
        JFrame frame;
        JMenuBar bar;
        JMenu fileMenu, editMenu,formatMenu,viewMenu,helpMenu;
        JMenuItem newItem, openItem, saveItem, closeItem;
        ImageIcon newIcon, openIcon, saveIcon, closeIcon;
        JScrollPane scroll;
        JTextArea area;
        JFileChooser chooser;
        File file;
    
    
        public TextPad() {
            frame = new JFrame("XZ");
            bar = new JMenuBar();
            fileMenu = new JMenu("文件(F)");
            editMenu = new JMenu("编辑(E)");
            formatMenu= new JMenu("格式(O)");
            viewMenu=new JMenu("查看(V)");
            helpMenu= new JMenu("帮助(H)");
            newIcon = new ImageIcon("d:" + File.separator + "Test" + File.separator + "A.png");
            openIcon = new ImageIcon("d:" + File.separator + "Test" + File.separator + "B.png");
            saveIcon = new ImageIcon("d:" + File.separator + "Test" + File.separator + "C.png");
            closeIcon = new ImageIcon("d:" + File.separator + "Test" + File.separator + "D.png");
            newItem = new JMenuItem("新建(N)", newIcon);
            openItem = new JMenuItem("打开(O)", openIcon);
            saveItem = new JMenuItem("另存为(A)", saveIcon);
            closeItem = new JMenuItem("关闭(X)", closeIcon);
            area = new JTextArea();
            scroll = new JScrollPane(area);
    
            newItem.setMnemonic(KeyEvent.VK_N);
            openItem.setMnemonic(KeyEvent.VK_O);
            saveItem.setMnemonic(KeyEvent.VK_A);
            closeItem.setMnemonic(KeyEvent.VK_X);
    
            newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
            openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));
            saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));
            closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK));
    
            fileMenu.add(newItem);
            fileMenu.add(openItem);
            fileMenu.add(saveItem);
            fileMenu.addSeparator();
            fileMenu.add(closeItem);
            newItem.addActionListener((ActionListener) this);
            openItem.addActionListener((ActionListener) this);
            saveItem.addActionListener((ActionListener) this);
            closeItem.addActionListener((ActionListener) this);
    
            bar.add(fileMenu);
            bar.add(editMenu);
            bar.add(formatMenu);
            bar.add(viewMenu);
            bar.add(helpMenu);
            frame.setJMenuBar(bar);
            frame.add(scroll);
            frame.setVisible(true);
            frame.pack();
        }
    
        public void actionPerformed(ActionEvent event) {
            Object obj = event.getSource();
            if (obj instanceof JMenuItem) {
                JMenuItem item = (JMenuItem) obj;
                //加入动作监听
                if (item == newItem) {
            new TextPad();
                }
                else if(item==openItem){
                    JFileChooser chooser=new JFileChooser();
                    chooser.showOpenDialog(null);
                    file=chooser.getSelectedFile();//返回选择的文件
                    try {
                        FileInputStream fis=new FileInputStream(file);
                        try {
                            byte[] b=new byte[fis.available()];
                            fis.read(b);
                            area.append(new String(b));
                            fis.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
    
                            }
                }
                else if (item==saveItem){
                    JFileChooser chooser = new JFileChooser();
                    chooser.showSaveDialog(null);
                    file=chooser.getSelectedFile();
                    if (!file.exists()) {
                        try {
                            file.createNewFile();
                        } catch (IOException e) {
                            e.printStackTrace();
                            try {
                                FileOutputStream fos=new FileOutputStream(file);
                                byte[] b = area.getText().getBytes();
                                try {
                                    fos.write(b);
                                } catch (IOException ex) {
                                    ex.printStackTrace();
                                }
                                try {
                                    fos.close();
                                } catch (IOException ex) {
                                    ex.printStackTrace();
                                }
                            } catch (FileNotFoundException ex) {
                                ex.printStackTrace();
                            }
                        }
                    }
                        }
                
                
                else  if(item==closeItem){
                    System.exit(1);
                }
                    }
                }
            }
    package Rectangle;
    
    public class Test {
        public static void main(String[] args) {
           new TextPad();
        }
    }
    
    

    实验结果截图:

    1.运行结果:

    2.执行新建命令:

    3.执行打开命令:

    4.执行另存为命令:

    实验总结:

    只能把记事本的文件菜单里的功能完善,前面的一些界面的设置没有什么大问题主要是Menu的使用。后面那些文件菜单
    的功能,新建还好,在打开和另存为那一栏,需要用到输入输出流。
    首先打开功能:运用到了InputStreamReader,将输入的字节流变为字符流,将文件中的数据读入到程序。

     try {
                        FileInputStream fis= new FileInputStream(file);
                            byte[] b = new byte[fis.available()];
                            fis.read(b);
                            area.append(new String(b));
                            fis.close();
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    } catch (IOException e) { 
                        e.printStackTrace();
                    }
    

    然后是另存为功能:运用到OutputStreamWriter,将一个字符流的输出对象变为字节流的输出对象。

      if (!file.exists()) {
                        try {
                            file.createNewFile();
                        } catch (IOException e) {
                            e.printStackTrace();
                            try {
                                FileOutputStream fos=new FileOutputStream(file);
                                byte[] b = area.getText().getBytes();
                                try {
                                    fos.write(b);
                                } catch (IOException ex) {
                                    ex.printStackTrace();
                                }
                                try {
                                    fos.close();
                                } catch (IOException ex) {
                                    ex.printStackTrace();
                                }
                            } catch (FileNotFoundException ex) {
                                ex.printStackTrace();
                            }
                        }
                    }
    

    自我总结:

    快到期末了,需要复习的知识越来越多,而且题目的综合性真的很高,需要花更多的时间来学习了呀!

    作业交的比较早,前面代码我修改了一下,运行后的图片我就在补在这后面了

  • 相关阅读:
    Chrome cookies folder
    Fat URLs Client Identification
    User Login Client Identification
    Client IP Address Client Identification
    HTTP Headers Client Identification
    The Personal Touch Client Identification 个性化接触 客户识别
    购物车 cookie session
    购物车删除商品,总价变化 innerHTML = ''并没有删除节点,内容仍存在
    453
    购物车-删除单行商品-HTMLTableElement.deleteRow()
  • 原文地址:https://www.cnblogs.com/2001guqiu/p/11954582.html
Copyright © 2020-2023  润新知