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


    实验总结:这周学习了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数据库,主要内容还是下周去实践。但是这周实验课

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

  • 相关阅读:
    当统计信息不准确时,CBO可能产生错误的执行计划,并在10053 trace中找到CBO出错的位置示例
    ruby class_eval的使用
    ruby修改TXT文件
    ruby格式化
    VIM常用命令集合
    Watir::IE.attach与IE7选项卡的设置关系
    ruby 连接mysql数据库
    AutoIT删除Internet临时文件
    watir学习之—如何遍历页面所有的超链接
    watir如何取到元素的css属性
  • 原文地址:https://www.cnblogs.com/duweihhw/p/11959361.html
Copyright © 2020-2023  润新知