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

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

实验代码

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;
posted @ 2019-11-29 17:23  青衫拓落  阅读(146)  评论(0编辑  收藏  举报