第十四周课程总结&&实验总结

课程总结:

1、Java实现跨平台操作的工具:JDBC。

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

2、JDBC驱动分类:

JDBC有着多种驱动:

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

3、JDBC的主要操作类及接口。

4、MySQL的命令。

连接MySQL数据库:

mysql-u 用户名 -p 密码

创建数据库:

创建数据库:CREATE DATABASE 数据库名称;
删除数据库:DROP DATABASE 数据库名称;

使用数据库:

USE 数据库名称;

创建数据库表:

CREATE TABLE 表名称{
    字段名称1     字段类型 [DEFAULT 默认值] [约束],
    字段名称2     字段类型 [DEFAULT 默认值] [约束],
    .....
    字段名称n     字段类型 [DEFAULT 默认值] [约束],
};

5、查询数据。

SELECT {*|column alias}
FROM 表名称 别名
[WHERE conditon(s)];               ->设置查询条件<-

6、连接数据库的操作:

JDBC的连接地址实际上是由以下的3个部分组成。
(1)jabc 协议:JDBC URL 中的协议总是 jdbc。
(2)子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如

MySQL

(3)子名称: 种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准URL 命名约定,如

//localhost:3306/mldn

7、Connection接口的常用方法:

8、ResultSet接口

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

实验总结

实验代码

声明与监听代码:
package text;

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;
    JMenuItem newItem, openItem, saveItem, closeItem;
    ImageIcon newIcon, openIcon, saveIcon, closeIcon;
    JScrollPane scroll;
    JTextArea area;
    JFileChooser chooser;
    File file;

    public TextPad() {
        frame = new JFrame("SZH");
        bar = new JMenuBar();
        fileMenu = new JMenu("文件");
        editMenu = new JMenu("编辑");
        newIcon = new ImageIcon("d:" + File.separator + "TEXT" + File.separator + "IMG_20191002_154741.jpg");
        openIcon = new ImageIcon("d:" + File.separator + "TEXT" + File.separator + "IMG_20191101_173538.jpg");
        saveIcon = new ImageIcon("d:" + File.separator + "TEXT" + File.separator + "IMG_20191101_173559.jpg");
        closeIcon = new ImageIcon("d:" + File.separator + "TEXT" + File.separator + "IMG_20191101_173632.jpg");
        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);
        frame.setJMenuBar(bar);
        frame.add(scroll);
        frame.setVisible(true);
        frame.setSize(400,200);
        frame.setLocation(200,100);
    }
    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(24);
            }
          }
       }
    }
实现代码:
package text;

public class Test {
	public static void main(String[] args) {
		new TextPad();
	}
}

实验结果截图:

运行结果:

整体界面:

新建与打开:

另存为:

实验总结

完成老师上课说过的和书上有的习题还是比较容易的,运用到了的知识比较全面,算是一次复习了!!!
获得的收益很大!
但是在输入与输出阶段还是忘记怎么在字符流和字节流相互转换,还是查询书籍才能做出来!

自我总结

知识点上课有认真听,但是在课后的巩固工作做的不够好!
现在做的实验和快要到来的实验设计都是综合性高的题目!需要花更多的时间在巩固知识上去!!!
记忆一下我们学过的基础知识和各个方法名,可以在程序中使用帮助文档来获得你要查询的方法的方法体及作用、用法!!

原文地址:https://www.cnblogs.com/songzhihaoT1/p/11958252.html