zoukankan      html  css  js  c++  java
  • 第十四周课程总结&实验报告

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

    一、JDBC

    简介:JDBC是Java提供的一套数据库操作标准,各个数据库生厂商要按照此标准来生产数据库驱动,开发者只需要掌握核心的接口与类即可通过SQL实现任意的数据库操作。
    驱动分类:
    (1)JDBC-ODBC桥驱动;(2)JDBC本地驱动;(3)JDBC网络驱动;(4)本地协议纯JDBC驱动。

    序号 类及接口 描述
    1 java,sql.DriverManager 用于管理JDBC驱动程序
    2 java,sql.Connection 用于建立与特定数据库的连接,一个连接就是一个会话,建立连接后便可以执行SQL语句和获得检索结果
    3 java,sql.Statement 一个Statement对象用于执行静态SQL语句,并获得语句执行后产生的后果
    4 java,sql.PreparedStatement 创建一个可以编译的SQL语句对象,该对象可以被多次运行,以提高执行的效率,该接口是Statement的子接口
    5 java,sql.ResultSet 用于创建表示SQL语句检索结果的结果集,用户通过结果集完成对数据库的访问
    6 java,sql.Date 该类是标准jaa,util.Date类的一个子集,用于表示SQLDATE相同的日期类型,该日期不包括时间
    7 java,sql.TimeStamp 标准jaa,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 高级程序设计人员通过DriverPropertuInfo与Driver进行交流,可使用getDriverPropertyInfo获取或提供驱动程序的信息
    14 java,sql.Time 该类是标准java.util.Date的一个子集,用于表示时分秒
    15 java,sql.SQLException 对数据库访问时缠身的错误的描述信息
    16 java,sql.SQLWarning 对数据库访问时产生的警告的描述信息
    17 java,sql.Types 定义了表示SQL类型的常量

    二、MySQL:

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

    常用命令:

    show databases 显示数据库
    create database name 创建数据库
    use databasename 选择数据库
    drop database name 直接删除数据库,不提醒
    show tables 显示表
    describe tablename 表的详细描述
    select中加上distinct 去除重复字段

    实验报告

    源代码:

    package src;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileInputStream;
    import java.io.PrintStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    import java.util.Scanner;
    
    import javax.swing.ImageIcon;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JScrollPane;
    import javax.swing.JMenuItem;
    import javax.swing.JTextArea;
    import javax.swing.KeyStroke;
    import java.awt.*;
    
    public class Js extends JFrame implements ActionListener {
    
        JFrame f;
        JTextArea area;
        JMenuBar bar;
        JMenu men1,men2,men3,men4;
        JMenuItem Item1,Item2,Item3,Item4,Item5;
        ImageIcon image1,image2,image3,image4,image5;
        JFileChooser chooser;
        JScrollPane scoll;
        File file;
        public Js(){
            f=new JFrame("记事本");
            bar=new JMenuBar();
            area=new JTextArea();
            scoll=new JScrollPane(area);
            men1=new JMenu("文件");
            men2=new JMenu("编辑");
            men3=new JMenu("查看");
            men4=new JMenu("帮助");
            image1=new ImageIcon("d:"+File.separator+"PR视频"+File.separator+"qq.4.png");
            image2=new ImageIcon("d:"+File.separator+"PR视频"+File.separator+"打开.png");
            image3=new ImageIcon("d:"+File.separator+"PR视频"+File.separator+"qq.3.png");
            image4=new ImageIcon("d:"+File.separator+"PR视频"+File.separator+"qq.3.png");
            Item1=new JMenuItem("新建(N)",image1);
            Item2=new JMenuItem("打开(O)",image2);
            Item3=new JMenuItem("保存(S)",image3);
            Item4=new JMenuItem("另存为(T)",image4);
            Item5=new JMenuItem("关闭(C)",image5);
                
            Item1.setMnemonic('N');
            Item2.setMnemonic('O');
            Item3.setMnemonic('S');
            Item4.setMnemonic('T');
            Item5.setMnemonic('C');
            
            men1.add(Item1);
            men1.add(Item2);
            men1.add(Item3);
            men1.add(Item4);
            men1.add(Item5);
            
            Item1.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
            Item2.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
            Item3.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
            Item4.setAccelerator(KeyStroke.getKeyStroke('T',java.awt.Event.CTRL_MASK));
            Item5.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK));
            
            Item1.addActionListener(this);
            Item2.addActionListener(this);
            Item3.addActionListener(this);
            Item4.addActionListener(this);
            Item5.addActionListener(this);
    
            bar.add(men1);
            bar.add(men2);
            bar.add(men3);
            bar.add(men4);
            
            f.addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent e){
                    System.exit(1);
                }
            });
            f.setJMenuBar(bar);
            f.getContentPane().add(scoll);
            f.add(scoll);
            f.setSize(400,300);
            f.setVisible(true);
            
        }
        
        @Override
        public void actionPerformed(ActionEvent e) {
            file =null;
            chooser=new JFileChooser();
            Object obj = e.getSource();
            if(obj instanceof JMenuItem) {
                 JMenuItem item = (JMenuItem)obj;
                 
                 if(item == Item1) {
    //               new TextArea();
                     area.setText("");
                 }else if(item == Item2) {
                     chooser=new JFileChooser();
                     chooser.showOpenDialog(null);
                     file=chooser.getSelectedFile();
                     try {
                        FileInputStream fis=new FileInputStream(file);
                        byte[] b=new byte[fis.available()];
                        try {
                            fis.read();
                            area.append(new String(b));
                            fis.close();
                        } catch (IOException e1) {
                            e1.printStackTrace();
                        }
                    } catch (FileNotFoundException e1) {
                        e1.printStackTrace();
                    } catch (IOException e2) {
                        e2.printStackTrace();
                    }
                 }else if(item==Item4) {
                     chooser=new JFileChooser();
                     chooser.showOpenDialog(null);
                     file=chooser.getSelectedFile();
                     
                   if(!file.exists()) {
                     try {
                        file.createNewFile();
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                 }
                 try {
                    FileOutputStream fos= new FileOutputStream(file);
                     byte[] b = area.getText().getBytes();
                     fos.write(b);
                     fos.close();
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
              }else if(item==Item3) { 
                  try {
                    PrintStream out=new PrintStream(new FileOutputStream(file));
                    out.print(this.area.getText());
                    out.close();
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                }
              }
            }
        }
    
    }
    
    package src;
    
    public class Jsb {
        public static void main(String[] args) {
            new Js();
    
        }
    
    }
    

    运行截图:

  • 相关阅读:
    android onTouchEvent
    AD smart pdf 中文丢失
    c# 定时器
    Android 绘制圆环
    52道Python面试题
    螺旋填数:读入两个整数m,n,输出一个m行n列的矩阵,这个矩阵是1~m*n这些自然数按照右、下、左、上螺旋填入的结果。
    Java经典练习题_Day04
    Java经典练习题_Day05
    Java 面向对象 初探
    Java Array 方法和使用
  • 原文地址:https://www.cnblogs.com/caoe666/p/11960326.html
Copyright © 2011-2022 走看看