课程总结:

本周主要对数据库进行了学习:

1.JDBC:JDBC是Java提供的一套数据库操作标准

JDBC的主要操作类及接口:

Java.sql.CallableStatement:用于执行SQL存储过程

Java.sql.Types:定义了表示SQL类型的常量

java.sql.DriverManager :用于管理jdbc驱动程序
Java.sql.Connection :用于建立与特定数据库的连接
Java.sql.Statement 一个Statement的对象用于执行静态sql语句,并获得语句执行后产生的后果
Java.sql.PreparedStatement 创建一个可以编译的sql语句对象,该对象可以多次被运行,以提高执行效率,是Statement的子接口
Java.sql.ResultSet 用于创建表示sql语句检索结果的结果集,用户通过结果集完成对数据库的访问

Java.sql.CallableStatement:用于执行SQL存储过程

Java.sql.Types:定义了表示SQL类型的常量

在JDBC中基本操作中最常用的类和接口就是DriverManger、Connection、Statement、Result、PrepaerdStatement。

2.MySQL数据库:

MySQL的官方网站是:www.mysql.com

MySQL的安装及配置:端口设置默认值是3360.

MySQL常用命令:


链接mysql数据库

 

1
mysql -u 用户名 -p 密码

 创建数据库

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

  使用数据库:

1
USE 数据库名称

  创建数据库表:

1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE 表名称(
 
字段名称1   字段类型【DEFAULT 默认值】【约束】
 
字段名称1   字段类型【DEFAULT 默认值】【约束】
 
.........
 
字段名称n     【DEFAULT 默认值】【约束】   
 

  删除数据库表:

1
DROP TABLE 表名称;

  查看表结构

1
DESC 表名称;

  查看数据库信息

1
2
3
查看全部数据库:SHOW DATEBASES;
 
查看一个数据库的全部表;SHOW TABLES;

 学这个的时候有一点之前在cmd里面写东西的感觉,但是这个知识比之前那个难太多了(个人觉得),上课听得稀里糊涂,没听懂多少,老师讲之后再结合自己看书才搞懂一些。

实验报告:

源代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
package demo2;
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
 
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
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;
 
public class TextPad implements ActionListener{
    JFrame frame;
    JMenuBar bar;
     
    JMenu fileMenu;
    JMenu editMenu;
     
    ImageIcon newIcon;
    ImageIcon openIcon;
    ImageIcon saveIcon;
    ImageIcon closeIcon;
     
    JTextArea area;
    JScrollPane scroll;
 
    JMenuItem newItem;
    JMenuItem openItem;
    JMenuItem saveItem;
    JMenuItem closeItem;
     
    JFileChooser chooser;
    File file;
    public TextPad(){
        frame=new JFrame("记事本");
        bar=new JMenuBar();
         
        fileMenu=new JMenu("文件");
        editMenu=new JMenu("编辑");
//图标       
        newIcon=new ImageIcon("g:"+File.separator+"test"+File.separator+"新建.png");
        openIcon=new ImageIcon("g:"+File.separator+"test"+File.separator+"打开.png");
        saveIcon=new ImageIcon("g:"+File.separator+"test"+File.separator+"退出.png");
        closeIcon=new ImageIcon("g:"+File.separator+"test"+File.separator+"关闭.png");
        area=new JTextArea();
        scroll=new JScrollPane(area);
         
        newItem=new JMenuItem("新建",newIcon);
        openItem=new JMenuItem("打开",newIcon);
        saveItem=new JMenuItem("退出",newIcon);
        closeItem=new JMenuItem("关闭",newIcon);
//快捷键      
        newItem.setMnemonic('N');
        openItem.setMnemonic('O');
        saveItem.setMnemonic('E');
        closeItem.setMnemonic('C');
         
        newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
        openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
        saveItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.CTRL_MASK));
        closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK));
//监听器
        newItem.addActionListener(this);
        newItem.addActionListener(this);
        newItem.addActionListener(this);
        newItem.addActionListener(this);
         
        fileMenu.add(newItem);
        fileMenu.add(openItem);
        fileMenu.add(saveItem);
        fileMenu.addSeparator();
        fileMenu.add(newItem);
         
        newItem.setMnemonic(KeyEvent.VK_N);
         
         
        bar.add(editMenu);
        bar.add(fileMenu);
         
        frame.setJMenuBar(bar);
        frame.setVisible(true);
        frame.setSize(300,180);
        frame.setLocation(300,200);
         
    }
             
    public void actionPerformed(ActionEvent event) {
 
        Object obj=event.getSource();
        if(obj instanceof JMenuItem){
            JMenuItem item=(JMenuItem) obj;
            if(item==newItem){
                new TextPad();
            }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);
                    area.append(new String(b));
                    fis.close();
                }catch(FileNotFoundException e){
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                 
            }else if(item==saveItem){
                chooser=new JFileChooser();
                chooser.showSaveDialog(null);
                file=chooser.getSelectedFile();
                try{
                    if(!file.exists()){
                        file.createNewFile();
                    }
                     
                    FileOutputStream fos=new FileOutputStream(file);
                    byte[] b=area.getText().getBytes();
                    fos.write(b);
                    fos.close();
                     
                }catch (IOException e){
                    e.printStackTrace();
                }
                     
            }else if(item==closeItem){
                System.exit(1);
            }
        }
    }
}

  

1
2
3
4
5
6
7
8
9
10
package demo2;
 
public class Test {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new TextPad();
    }
 
}

  运行结果截图

不知道为什么设置了图标地址,就偏偏全部是一个图案,而且并且实现不了一些功能,参照老师上课讲的写的,之前也按书上的方法写过,都达不到最终的目的。