• 第十四周课程总结


    • JDBC:
      Java DataBase Connectivity 即java数据库连接。
      jdbc是oracle公司指定的一套规范(一套接口)

    • 驱动:jdbc的实现类.由数据库厂商提供.
      ps :我们可以使用厂商提供的jar例如mysql的jar包mysql-connector-java-5.1.39-bin.jar(随便下了一个版本的jar)来操作(通过jar包内的api)数据库

    • 提供商 例如mysql提供了mysql的jar包,oracle 提供了oracle的jar包
      (使用不同的jar包提供的api 就可以操作不同的数据库)

    所以我们总结了jdbc 的功能:
    1 连接数据库
    2 发送sql语句
    3 处理结果

    记事本

    ```

    package demo01;

    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.PrintStream;
    import java.util.Scanner;

    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.KeyStroke;

    public class Test {

    public Test() {

    final JFrame j = new JFrame("记事本");

    final JTextArea text = new JTextArea();
    text.setEditable(true);
    j.getContentPane().add(new JScrollPane(text));
    // 设置菜单栏
    JMenu menuFile = new JMenu("文件");
    JMenuBar menuBar = new JMenuBar();
    menuBar.add(menuFile);
    j.setJMenuBar(menuBar);

    JMenu help = new JMenu("帮助");
    JMenuBar menuBar2 = new JMenuBar();
    menuBar.add(help);
    j.setJMenuBar(menuBar);
    // 设置菜单项

    JMenuItem newItem = new JMenuItem("新建(N)");
    menuFile.add(newItem);
    newItem.setMnemonic('N');
    newItem.setAccelerator(KeyStroke.getKeyStroke('N',
    java.awt.Event.CTRL_MASK));

    JMenuItem openItem = new JMenuItem("打开(O)");
    menuFile.add(openItem);
    openItem.setMnemonic('O');
    openItem.setAccelerator(KeyStroke.getKeyStroke('O',
    java.awt.Event.CTRL_MASK));

    JMenuItem saveItem = new JMenuItem("保存(S)");
    menuFile.add(saveItem);
    saveItem.setMnemonic('S');
    saveItem.setAccelerator(KeyStroke.getKeyStroke('S',
    java.awt.Event.CTRL_MASK));

    JMenuItem saveToItem = new JMenuItem("另存为.. ");
    menuFile.add(saveToItem);

    menuFile.addSeparator();

    JMenuItem closeItem = new JMenuItem("退出(X)");
    menuFile.add(closeItem);
    closeItem.setMnemonic('X');

    JMenuItem aboutItem = new JMenuItem("关于记事本(A)");
    help.add(aboutItem);
    aboutItem.setMnemonic('A');

    // 事件监听
    newItem.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    text.setText("");
    }
    });
    openItem.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    File file = null;
    int result = 0;
    JFileChooser filechooser = new JFileChooser();
    text.setText("");
    filechooser.setApproveButtonText("确定");
    filechooser.setDialogTitle("打开文件");
    result = filechooser.showOpenDialog(j);// 显示打开文件窗口
    if (result == JFileChooser.APPROVE_OPTION) {// 确定
    file = filechooser.getSelectedFile();// 得到选择的文件对象
    }
    if (file != null) {
    try {
    Scanner sc = new Scanner(new FileInputStream(file));
    sc.useDelimiter(" ");
    while (sc.hasNext()) {
    text.append(sc.next());
    }
    } catch (FileNotFoundException e1) {
    e1.printStackTrace();
    }
    }

    }
    });
    saveItem.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    File file = null;
    int result = 0;
    JFileChooser filechooser = new JFileChooser();
    filechooser.setApproveButtonText("确定");
    filechooser.setDialogTitle("保存文件");
    result = filechooser.showSaveDialog(j);// 显示保存文件窗口
    if (result == JFileChooser.APPROVE_OPTION) {// 确定
    file = filechooser.getSelectedFile();// 得到选择的文件对象
    }
    if (file != null) {
    try {
    PrintStream out = new PrintStream(new FileOutputStream(
    file));
    out.print(text.getText());
    out.close();
    } catch (FileNotFoundException e1) {
    e1.printStackTrace();
    }
    }

    }
    });
    saveToItem.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {

    }
    });
    closeItem.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    System.exit(0);
    }
    });
    aboutItem.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    JFrame j1 = new JFrame("关于记事本");
    JLabel lab=new JLabel("developer:zyz",JLabel.CENTER);
    Font font=new Font("arial",Font.ITALIC+Font.BOLD,28);
    lab.setFont(font);
    j1.add(lab);
    j1.setSize(300, 200);
    j1.setLocation(350,350);
    j1.setResizable(false);
    j1.setVisible(true);

    }
    });

    j.setSize(400, 300);
    j.setLocation(300, 300);
    j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    j.setVisible(true);

    }

    }

    ```

    ```

    package demo01;

    public class Main {

    public static void main(String[] args) {

    Test t=new Test();

    }

    }

    ```

  • 相关阅读:
    docker 数据卷 ---- 进阶篇
    docker 数据卷 ---- 基础篇
    python做基本的图像处理
    conv1d UpSampling1D aotoencoder 自编码代码摘录
    python daal test
    python dict 构造函数性能比较
    CNN autoencoder 进行异常检测——TODO,使用keras进行测试
    利用CNN进行流量识别 本质上就是将流量视作一个图像
    Deep Belief Network简介——本质上是在做逐层无监督学习,每次学习一层网络结构再逐步加深网络
    python pipe stdout 实现cat|grep 功能
  • 原文地址:https://www.cnblogs.com/y6666/p/11959208.html
Copyright © 2020-2023  润新知