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


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

    实验代码

    package NOTEBOOK;
    import java.awt.event.*;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintStream;
    
    import javax.swing.*;
    
    
    public   class Notebook implements ActionListener {
    
        JFrame frame;
        JMenuBar bar;
        JMenu fileMenu,editMenu;
        JMenuItem newItem,openItem,saveItem,closeItem;
        ImageIcon newIcon,openIcon,saveIcon,closeIcon;
        JScrollPane scorll;
        JTextArea scbar;
        File file;
        private JFileChooser chooser;
        
        public Notebook(){
            frame = new JFrame("ZJ");
            fileMenu = new JMenu("文件(F)");//编辑记事本首页功能
            editMenu = new JMenu("编辑(E)");
            bar = new JMenuBar();
            newItem = new JMenuItem("新建(N)");//文件功能标注
            openItem = new JMenuItem("打开(O)");
            saveItem = new JMenuItem("保存(S)");
            closeItem = new JMenuItem("关闭(C)");
            
            scbar = new JTextArea();//添加文本域和滚动条
            scorll = new JScrollPane(scbar,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);      
            
            newItem.setMnemonic(KeyEvent.VK_N);//编辑文件菜单里的快捷键
            openItem.setMnemonic(KeyEvent.VK_O);
            saveItem.setMnemonic(KeyEvent.VK_S);
            closeItem.setMnemonic(KeyEvent.VK_C);
            
             newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_DOWN_MASK));
             openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_DOWN_MASK));
             saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_DOWN_MASK));         
             closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_DOWN_MASK));
             //编辑菜单里的快捷键
            fileMenu.add(newItem);//将功能加入文件菜单
            fileMenu.add(openItem);
            fileMenu.add(saveItem);
            fileMenu.add(closeItem);
            
            newItem.addActionListener(this);//事件监听
            openItem.addActionListener(this);
            saveItem.addActionListener(this);
            closeItem.addActionListener(this);       
            bar.add(fileMenu);//将菜单栏的功能加入到菜单栏
            bar.add(editMenu);        
            frame.setJMenuBar(bar);//总体布局
            frame.add(scorll);
            frame.setSize(250, 250);
            frame.setVisible(true);
        }
       
        public void actionPerformed(ActionEvent e) {
            Object obj = e.getSource();//获得事件监听的对象
            if (obj instanceof JMenuItem) {
                JMenuItem item = (JMenuItem) obj;
                if (item == newItem) {   //新建
                    new Notebook();           
                }else if (item == openItem) {   //打开
                    chooser = new JFileChooser();
                    chooser.showOpenDialog(null);
                    file = chooser.getSelectedFile();  //选择文件
                try {
                    FileInputStream fis= new FileInputStream(file);
                        byte[] b = new byte[fis.available()]; //创建文件缓冲区
                        fis.read(b);
                        scbar.append(new String(b));
                        fis.close();
                    
                } catch (FileNotFoundException e1) {
                    
                    e1.printStackTrace();
                } catch (IOException e1) {
                    
                    e1.printStackTrace();
                }
            }else if(item == saveItem) { //保存文件
                if(file!=null) {
                    try {
                        PrintStream out = new PrintStream(new FileOutputStream(file));
                        out.print(this.scbar.getText());
                        out.close();
                    } catch (FileNotFoundException e1) {
                        
                        e1.printStackTrace();
                    }
                }
                
            }else if(item == closeItem) {
            System.exit(1);
         }
      }
    
      }
    }
    package NOTEBOOK;
    
    public class Test {
    
    	public static void main(String[] args) {
    		
    		        
    		        new Notebook();
    
    	}
    
    }
    

    实验结果

    学习总结
    1.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          //   定义一个数据库的驱动接口。
    

    2.JDBC的连接地址实际上是由以下的3个部分组成。

    (1)jabc 协议:JDBC URL 中的协议总是 jdbc。
    (2)子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如
    MySQL。
    (3)子名称: 种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准URL 命名约定,
    

    3.MySQL的基本操作命令

    MySQL 是最流行的关系型数据库管理系统,它性能高、成本低、可靠性好,因此被广泛地应用在Internet上的中小型网站中,是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
    
    
    
    以下为MySQL的一些基本操作命令。
    
    
    
    01
    数据库
    
    
    
    
    # 连接MySQL数据库(需用户名跟密码):
    mysql -u [usernane] -p [password]
    
    # 查询所有的数据库
    show databases;
    
    # 创建数据库(数据库名称只能以字母或下划线开头)
    create database [database_name] charset utf8;
    
    # 删除数据库
    drop database [database_name];
    
    # 选择数据库
    use [database_name];
    
    
    
    
    
    
    02
    数据表(需选择某个数据库)
    
    
    
    
    # 查看所有的表
    show tables;
    
    # 创建数据表
    create table if not exists [databese_name](
       [db_id] int unsigned auto_increment,
       [db_title] varchar(100) not null,
       [db_author] varchar(40) not null,
       [submission_date] date,
       primary key ( [db_id] )
    )engine=InnoDB default charset=utf8;
    
    auto_incremen:定义列为自增的属性,一般用于主键,数值会自动加1;
    primary key :关键字用于定义列为主键;
    engine:设置存储引擎;
    charset:设置编码
    
    # 插入数据
    insert into [tablename]
        -> ([db_title], [db_author], [submission_date]
        -> values
        -> (“mysql”, “小人物”, “now()”);
    
    # 查看表的所有数据
    select * from [tablename];
    
    # 查询表的结构
    desc [tablename];
    
    # 删除数据表
    drop table [tablename];
    
    # 使用where 选择数据
    select * from [tablename] where [db_author]=’小人物’;
    
    # 使用update 更新 [db_id] 为1数据
    update [tablename] set [db_title] where [db_id]=1;
    
    # 使用delete删除 [db_id] 为1的数据
    delete from [tablename] where [db_id]=1;
    
  • 相关阅读:
    js和c#小数四舍五入
    c#连接关闭了,事务并没有关闭
    SQLNET跟踪tnsping过程
    关闭listener监听日志
    DBMS_RANDOM 用法
    获取oracle当前系统设置了哪些事件
    oracle获取主机服务器IP
    动态性能视图v$session_longops
    PRINT_TABLE 列以行形式显示
    mac 开启ntfs 权限
  • 原文地址:https://www.cnblogs.com/ZJ999999/p/11959120.html
Copyright © 2020-2023  润新知