zoukankan      html  css  js  c++  java
  • 第十四周总结

    课程总结:

    本周讲了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();
                            }
                        }
                    }
    

    自我总结:

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

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

  • 相关阅读:
    [循环卷积]总结
    [FFT/NTT/MTT]总结
    [BZOJ 4870] 组合数问题
    [BZOJ 4809] 相逢是问候
    [BZOJ 4591] 超能粒子炮-改
    __getattribute__
    __repr__
    __reduce__
    数据库查询转excel小工具
    Git常用操作
  • 原文地址:https://www.cnblogs.com/2001guqiu/p/11954582.html
Copyright © 2011-2022 走看看