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

一、JDBC

  1. JDBC概述
    JDBC提供了一种与平台无关的用于执行SQL语句的标准JavaAPI,可以方便的实现多种关系型数据库的统一操作,它由一组用Java语言编写的类和接口组成

JDBC的主要操作类及接口
JDBC的核心是为用户提供Java APIl类库,让用户能够创建数据库连接、执行SQL语句、检索结果集、访问数据库元数据等。Java程序开发人员可以利用这些类库来开发数据库应用程序。JDBC API中主要包括了下面所示的类和接口:

java.sql.DriverManager 用于管理JDBC驱动程序

java.sql.Connection 用于建立与特定数据库的连接,一个连接就是一个会话,建立连接后便可以执行SQL语句和获得检索结果。

java.sal.Statement 一个Statement对象用于执行静态SQL语句,并获得语句执行后产生的结果。

java.sql.PreparedStatement 创建一个可以编译的SQL语句对象,给对象可以被多次运行,以提高执行效率,改接口是Statement的子接口。

java.sql.ResultSet 用于创建表示SQL语句检索结果集,用户通过结果集完成对数据库的访问。

java.sql.Driver 定义一个数据库的驱动接口。

二、MySQL数据库

  1. MySQL常用命令

连接MySQL数据库
mysql -u 用户名 -p 密码

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

系统特性:



1.使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。

2.支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。

3.为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。

4.支持多线程,充分利用 CPU 资源。

5.优化的 SQL查询算法,有效地提高查询速度。

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

7.提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。

8.提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。

9.提供用于管理、检查、优化数据库操作的管理工具。

10.支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

11.支持多种存储引擎。

12.MySQL 是开源的,所以你不需要支付额外的费用。

13.MySQL 使用标准的 SQL数据语言形式。

14.MySQL 对 PHP 有很好的支持,PHP是目前最流行的 Web 开发语言。

15.MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的 MySQL 系统。

16.在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性(5.6新增)

17.复制全局事务标识,可支持自我修复式集群(5.6新增)

18.复制无崩溃从机,可提高可用性(5.6新增)

19.复制多线程从机,可提高性能(5.6新增)

20.3倍更快的性能(5.7新增)

21.新的优化器(5.7新增)

22.原生JSON支持(5.7新增)

23.多源复制(5.7新增)

24.GIS的空间扩展(5.7新增)


实验报告:

源码:


package jishiben;

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.IOException;

import javax.swing .*;
  public class jishiben extends JFrame implements ActionListener{

      JFrame frame;
      JTextArea text;
      JScrollPane scr;
      JMenuBar bar;
      JMenu menu;
      JMenuItem newi;
      JMenuItem openi;
      JMenuItem savei;
      JMenuItem closei;
      JMenuItem exiti;
    
      JFileChooser chooser;
      File file;
      FileInputStream fil;
      FileOutputStream fol;
      
      public jishiben() {
          
          frame = new JFrame("记事本");
          text = new JTextArea();
          scr = new JScrollPane(text);
          
          bar = new JMenuBar();
          menu = new JMenu("文件");
          newi = new JMenuItem("新建");
          openi = new JMenuItem("打开");
          closei = new JMenuItem("关闭");
          exiti = new JMenuItem("退出");
          savei = new JMenuItem("另存为");
      
          
         
          text.setEditable(true);
          frame.getContentPane().add(scr);
          
          
          newi.addActionListener(this);
          openi.addActionListener(this);
          savei.addActionListener(this);
          closei.addActionListener(this);
          exiti.addActionListener(this);
            
          menu.add(newi);
          menu.add(openi);
          menu.add(savei);
          menu.add(closei);
          menu.add(exiti);
          bar.add(menu);
          
          
          
          frame.setJMenuBar(bar);
          
          frame.setSize(600, 500);
          frame.setLocation(300,200);
          frame.setVisible(true);
         
      }

      @Override
      public void actionPerformed(ActionEvent e) {
          file =null;
          Object obj = e.getSource();
          if(obj instanceof JMenuItem) {
              JMenuItem item = (JMenuItem)obj;
              if(item == newi) {
                  new jishiben();
              }else if(item == openi) {
                  chooser = new JFileChooser();
                  chooser.showSaveDialog(null);
                  file = chooser.getSelectedFile();
                  try {
                      fil = new FileInputStream(file);
                      byte[] b = new byte[fil.available()];
                      fil.read(b);
                      String str = new String(b);
                      text.append(str);
                      fil.close();
                  } catch (FileNotFoundException e1) {
                      e1.printStackTrace();
                  } catch (IOException e1) {
                      e1.printStackTrace();
                  }
              }else if(item == savei) {
                  chooser = new JFileChooser();
                  chooser.showSaveDialog(null);
                  file = chooser.getSelectedFile();
                  
                      try {
                          if(!file.exists()) {
                             file.createNewFile();
                          }
                          fol = new FileOutputStream(file);
                          byte[] b = text.getText().getBytes();
                          fol.write(b);
                          fol.close();
                      } catch (IOException e1) {
                          e1.printStackTrace();
                      }
                  
              }else if(item == closei){
                  System.exit(1);
              }
          }
          
      }
      
  }


package jishiben;

public class test {
  public static void main(String[] args) {
      new jishiben();
      
      

  }

}


截图:

posted @ 2019-11-29 21:27  青成雪  阅读(203)  评论(0编辑  收藏  举报