第十四周课程总结&实验报告(简单记事本的实现)

实验总结:这周学习了JDBC,主要学习了以下几点

1.JDBC的概述

JDBC是Java提供的一套数据库操作标准, 各个数据库生产商要按照此标准生产易数据质装动,而开发者只需要 掌握核心的接口 与类即可通过SQL实现任意的数据库操作。

2.JDBC简介

JDBC (Java Database Cnnectivity, Java 数据库连接),提供了一种与平台无关的用子 。SOL语句的标准Java API,可以方便地实现多种关系型数据库的统一操作, 它由一组用hang言编写的类和接口组成。
在实际开发中可以直接使用JDBC进行各个数据库的连接与操作,而且可以方便地白新业库中发送各种SQL命令。在JDBC中提供的是一套标准的接口, 这样,各个支持Java的数据生生产商只要按照此接口提供相应的实现,就都可以使用JDBC进行操作,极大地体现了las菜可移植性设计思想。

3.JDBC驱动分类

JDBC本身提供的是一套 数据库操作标准,而这些标准又需要各个数据库厂商实现所以励对于每一个数据库厂商都会提供一一个 JDBC的驱动程序,目前比较常见的JDBC驱动程序可分为以下4类:
(1) JDBC-ODBC桥驱动
(2)JDBC本地驱动
(3)JDBC网络驱动
(4)本地协议纯JDBC驱动

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

JDBC的核心是为用户提供Java API类库,让用户能够创建数据库连接、执行sQL语句、价尝结果集、访问数据库元数据等。Java 程序开发人员可以利用这些类库来开发数据库应用柱串,JDBC API中主要包括了表17-1所示的类和接口。
1.java.sql.DriverManager 
 用于管理JDBC驱动程序
2.java.sql.Connection  用于建立与特定数据库的连接,一个连接就是一一个会话, 建立连接后便可以执行SQL语句和获得检索结果
3.java.sql.Statement
一个Statement对象用于执行静态SQL语句,并获得语句执行后产生的结果
4.javasql.PreparedStatement
创建一个可以编译的 SQL语句对象,该对象可以被多次运行,以提高执行的效率,该接口是Statement的子接口
用于创建表示SQL语句检索结果的结果集,用户通过结果集完成对数据库的访问,
5.java.sql.ResultSet
用于创建表示SQL语句检索结果的结果集,用户通过结果集完成对数据库的访问,
6.java.sql.Date
该类是标准java.utilDate的一个子集,用于表示与SQL DATE
相同的日期类型,该日期不包括时间
7.java. sql.Timestamp
标准java.util.Date类的扩展,用于表示SQL时间戳,并增加了一个能表示ns (纳秒)的时间域
8.java.sqL.CallableStatement  用于执行SQL存储过程
9.java.sqL.DatabaseMetaData与 java.sqL.ResultSetMetaData一同用于访问数据库的元信息
10.java.sql.Driver  定义一个数据库驱动程序的接口
11.java.sql.DataTruncation在JDBC遇到数据截断的异常时,报告个警告 (读数据时)或产生一个异常(写数据时)
12.java.sql.DriverPropertyInfo
高级程序设计人员通过DriverPropertyInfo与Driver进行交流
可使用getDriverPropertyInfo获取或提供驱动程序的信息
13  java.sql.Time  该类是标准java.util.Date的一个子集,用于表示时、分、秒
14.java.sql.SQLException  对数据库访问时产生的错误的描述信息15.java.sqL.SQL Warning  对数据库访问时产生的警告的描述信息16.java.sql.Types  定义了表示SQL类型的常量

在JDBC的基本操作中最常用的类和接口就是DriverManager.Connection Statement.Result.PreparedStatement。

简单记事本

1.实验代码

package demo1;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.*;
import javax.swing.undo.UndoManager;
public class Demo01 {
    public static void main(String[] args) {
        JFrame frame;
        JTextArea text;
        JMenu menuFile,editMenu,formatMenu,checkMenu,helpMenu;
        JMenuBar menubar;
        JMenuItem newitem,openitem,closeitem,exititem;
        JMenuItem newItem,windomItem,openItem,saveItem,othersaveItem,pagesetupItem,printItem,closeItem;
        JButton open;
        JButton save;
        JLabel label;
        JPanel butpan;
        JMenu filemenu;
        UndoManager undoMagner;
        JTable table;
        frame=new JFrame("记事本");
        text=new JTextArea ();
        text.setEditable(true);
        frame.getContentPane().add(new JScrollPane(text));
        newitem=new JMenuItem("新建");
        openitem=new JMenuItem("打开");
        closeitem=new JMenuItem("关闭");
        exititem=new JMenuItem("退出");
        Container fileMenu = new JMenu();
        text.setEditable(true);
        menuFile=new JMenu("文件(F)");
        editMenu=new JMenu("编辑(E)");
        formatMenu=new JMenu("格式(O)");
        checkMenu=new JMenu("查看(Y)");
        helpMenu=new JMenu("帮助(H)");
        newItem=new JMenuItem("新建(N)");
                windomItem=new JMenuItem("新窗口(W)");
                openItem=new JMenuItem("打开(O)");
                saveItem=new JMenuItem("保存(S)");
                othersaveItem=new JMenuItem("另存为(A)");
                pagesetupItem=new JMenuItem("页面设置(U)");
                printItem=new JMenuItem("打印(P)");
                closeItem=new JMenuItem("退出(X)");  
        menubar=new JMenuBar(); 
        newitem.setMnemonic('N');
        openitem.setMnemonic('O');
        closeitem.setMnemonic('C');
        exititem.setMnemonic('E');
        open=new JButton("打开文件");
        save=new JButton("储存文件");
        label=new JLabel("现在没有打开的文件");
        butpan=new JPanel();
        
    
        //设置快捷键
        newitem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
        openitem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
        closeitem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.ALT_MASK));
        exititem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.ALT_MASK));
        
        //加入菜单项
        
        menuFile.add(newitem);
        menuFile.add(openitem);
        menuFile.add(closeitem);
        menuFile.add(exititem);
        fileMenu.add(newItem);
        fileMenu.add(openItem);
        menubar.add(menuFile);
        menubar.add(editMenu);
        menubar.add(formatMenu);
        menubar.add(checkMenu);
        menubar.add(helpMenu);
        
        
        
        frame.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent arg0) {
                System.exit(1);
            }});
    
        frame.setJMenuBar(menubar);
        frame.setVisible(true);
        frame.setSize(400,300);
        frame.setLocation(700,300);
        }   
        }

2.运行截图

学习总结

这周主要学习了JDBC的基本知识,也简单介绍了一下MYSQL数据库,主要内容还是下周去实践。但是这周实验课

我们学习了记事本的操作,加上老师在课堂上已经讲出来大部分了,还是同学的帮助,还是艰难·的做出来了,继续加油吧!

原文地址:https://www.cnblogs.com/duweihhw/p/11959361.html