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


    第十四周课程总结

    一、JDBC
          1. JDBC概述
          2. JDBC操作步骤
    二、MySQL数据库
          1. MySQL常用命令
          2. MySQL语法基础

    一、JDBC     

    1. JDBC概述   

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

      

       

    JDBC的主要操作类及接口

    类及接口

    描述

    java,sql.DriverManager

    用于管理JDBC驱动程序

    java,sql.Connection

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

    java,sql.Statement

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

    java,sql.PreparedStatement

    创建一个可以编译的SQL语句对象,该对象可以被多次运行,以提高执行的效率,该接口是Statement的子接口

    java,sql.ResultSet

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

    java,sql.Date

    该类是标准jaa,util.Date类的一个子集,用于表示SQLDATE相同的日期类型,该日期不包括时间

    java,sql.TimeStamp

    标准jaa,util.Date类的扩展,用于表示SQL时间戳,并增加了一个能表示ns(纳秒)的时间域

    java,sql.CallableStatement

    用于执行SQL存储过程

    java,sql.DatabaseMetaData

    与java.sql.ResultSetMetaData一同用于访问数据库的元信息

    java,sql.Driver

    定义一个数据库驱动程序的接口

    java,sql.DataTruncation

    在JDBC遇到数据截断的异常时,报告一个警告(读数据时)或产生一个异常(写数据时)

    java,sql.DriverPropertyInfo

    高级程序设计人员通过DriverPropertuInfo与Driver进行交流,可使用getDriverPropertyInfo获取或提供驱动程序的信息

    java,sql.Time

    该类是标准java.util.Date的一个子集,用于表示时分秒

    java,sql.SQLException

    对数据库访问时缠身的错误的描述信息

    java,sql.SQLWarning

    对数据库访问时产生的警告的描述信息

    java,sql.Types

    定义了表示SQL类型的常量

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    2. JDBC操作步骤

    (1)加载驱动

    (2)连接数据库

    (3)通过Statement发送sql语句

             通过Prepared Statement发送sql语句 

    (4)关闭数据库

    1.加载驱动程序
    public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";  //MySQL中的数据库驱动程序路径
    Class.forName(DBDRIVER);   //利用class类加载驱动程序,需要处理异常
    2.连接数据库
    ........接上
    Connection conn = null;
    conn = DriverManager.getConnetion(连接地址,用户名,密码);//需处理异常
    3.执行数据库
    需要使用Statement 接口完成

    
    String sql = "INSERT INTO user(name,password,age,sex,birthday)"+"VALUES('lxh','www.ddf','30','male','2000-02')";
    .......接上
    Statement stmt = conn.creatStatement();
    stmt.executeUpdate(sql); //执行数据库插入操作

    二、MySQL数据库     

    1. MySQL常用命令

    连接MySQL数据库
    mysql -u 用户名 -p 密码
    
    创建数据库
    创建:CREATE DATABASE 数据库名称
    删除:DROP DATABASE 数据库名称

    查看表结构
    DESC 表名称
    
    查看数据库的全部表
    查看全部数据库:SHOW DATEBASE;
    查看一个数据库的全部表:SHOW TABLES;

     2. MySQL语法基础


    实验报告

    一、实验源码

     

    package jishi;
    
    import javax.swing .*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    public class notepad extends JFrame implements ActionListener{
    
        JFrame frame;
        JTextArea text;
        JScrollPane scr;
        JMenuBar bar;
        JMenu menu;
        JMenuItem newi;
        JMenuItem openi;
        JMenuItem savei;
        JMenuItem closei;
        JMenuItem exiti;
        ImageIcon image1;
        ImageIcon image2;
        ImageIcon image3;
        ImageIcon image4;
        ImageIcon image5;
        JFileChooser chooser;
        File file;
        FileInputStream fil;
        FileOutputStream fol;
        
        public notepad() {
            
            
            frame = new JFrame("记事本");
            text = new JTextArea();
            scr = new JScrollPane(text);
            
            image1 = new ImageIcon("D:"+File.separator+"Java"+File.separator+"picture图标"+File.separator+"新建.png");
            image2 = new ImageIcon("D:"+File.separator+"Java"+File.separator+"picture图标"+File.separator+"打开.png");
            image3 = new ImageIcon("D:"+File.separator+"Java"+File.separator+"picture图标"+File.separator+"另存为.png");
            image4 = new ImageIcon("D:"+File.separator+"Java"+File.separator+"picture图标"+File.separator+"关闭.jpg");
            image5 = new ImageIcon("D:"+File.separator+"Java"+File.separator+"picture图标"+File.separator+"退出.jpg");
            
            bar = new JMenuBar();
            menu = new JMenu("文件");
            newi = new JMenuItem("新建",image1);
            openi = new JMenuItem("打开",image2);
            savei = new JMenuItem("另存为",image3);
            closei = new JMenuItem("关闭",image4);
            exiti = new JMenuItem("退出",image5);
            
           
            text.setEditable(true);
            frame.getContentPane().add(scr);
            
            newi.setMnemonic('N');
            openi.setMnemonic('O');
            closei.setMnemonic('C');
            exiti.setMnemonic('E');
            
            newi.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
            openi.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
            savei.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
            closei.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK));
            exiti.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.CTRL_MASK));
            
            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.addWindowListener(new MyWindowAdapter());
            
            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 notepad();
                }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 jishi;
    
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    
    public class MyWindowAdapter extends WindowAdapter{
        public void WindowClosing(WindowEvent arg0) {
            System.exit(1);
        }
    
    }          //可直接使用匿名内部类完成监听操作
    package jishi;
    
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.KeyStroke;
    import javax.swing.*;
    import java.awt.*;
    public class notepad1 {
    
        public static void main(String[] args) {
            new notepad();
            
            
    
        }
    
    }

     

    二、实验结果

    新建

    打开

    另存为

     

    总结

    知识点多而杂,需要整体把知识系统化,能更好的理解消化巩固所学。

  • 相关阅读:
    Unrecognized attribute 'targetFramework'.错误解决
    [译]Razor内幕之模板
    [译]Razor内幕之解析
    Java下载中文乱码问题解决方法
    获取矩形中心点与矩形外某点连线和矩形交点的算法
    做产品开发的感想
    [译]Razor内幕之表达式
    Could not find the main class. Program will exit.
    基于SAML的单点登录.NET代理端实现方案
    Linux内核虚拟内存的管理结构说明
  • 原文地址:https://www.cnblogs.com/xu23/p/11947330.html
Copyright © 2020-2023  润新知