赵纾寻  
a special world

本周完成了JDBC 的学习,请对此内容进行总结。

JDBC(Java数据库连接)的主要操作及接口:

常用类和接口:DriverManager(用于管理JDBC驱动程序)、Connection(用于建立与特定数据库的连接)、Statement(一个Statement对象用于执行静态SQL语句,并获得语句执行后产生的结果)、Result(用于创建表示SQL语句检索结果的结果集)、PreparedStatement(创建一个可以编译的SQL语句对象,该对象可被多次运行,该接口是Statement的子接口)。

MYSQL数据库:

①定义:小型关系型数据库管理系统。
②安装及配置。
③常用命令:
连接MYSQL数据库:

mysql-u 用户名 -p 密码;

创建数据库:

CREATE DATABASE 数据库名称、

删除数据库:

DROP DATABASE 数据库名称;

使用数据库:

USE 数据库名称;

创建数据库表:

CREATE TABLE 表名称(
    字段名称1 字段类型 [DEFAULT 默认值] [约束],
    字段名称2 字段类型 [DEFAULT 默认值] [约束],
    ...
    字段名称n 字段类型 [DEFAULT 默认值] [约束]
);

删除数据库表:

DROP TABLE  表名称;

查看表结构:

DESC 表名称;

查看数据库信息:
查看全部数据库:

SHOW DATABASES;

查看一个数据库的全部表:

SHOW TABLES;

SQL语法基础:

①SQL功能概括:DML、DDL、DCL;
②MYSQL中的数据类型:常用的是INT、FLOAT、VARCHAR(M)、TEXT、DATE、DATETIME。
③增加数据:

INSERT INTO 表名称[(字段1,字段2,字段3,...,字段n)]VALUES (值1,值2,值3,...值n);

④删除数据:

DELETE FROM 表名称 [删除条件];

⑤更新数据:

UPDATE 表名称 SET 字段 1=值1,...,字段n=值1[WHERE 更新条件];

⑥查询数据:

SELECT{*|column alias}
FROM 表名称 别名
[WHERE condition(s)];  →设置查询条件

JDBC操作步骤:

完成简单记事本的练习。

实验源码:

package aa;

import java.awt.*;
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.*;

public class TextMenu implements ActionListener {

	JFrame frame;//定义窗体
	JMenuBar bar;//定义JMenuBar
	JMenu fileMenu;//定义菜单栏
	JMenuItem newItem,openItem,saveItem,closeItem;//定义菜单选项
	ImageIcon newIcon,openIcon,saveIcon,closeIcon;//定义显示图标
	JScrollPane scr;//加入滚动条
	JTextArea area;//定义文本域
	JFileChooser chooser;
	File file;
	FileDialog savedialog;
	
	public TextMenu() {
		
		//实例化
		frame=new JFrame("QZY");
		bar=new JMenuBar();
		fileMenu=new JMenu("文件");  
		newItem=new JMenuItem("新建(N)");
		openItem=new JMenuItem("打开(O)");
		saveItem=new JMenuItem("另存为(A)");
		closeItem=new JMenuItem("退出(X)");
		newIcon=new ImageIcon("d:"+File.separator+"if you"+File.separator+"新建.png");
		openIcon=new ImageIcon("d:"+File.separator+"if you"+File.separator+"打开.png");
		saveIcon=new ImageIcon("d:"+File.separator+"if you"+File.separator+"另存为.png");
		closeIcon=new ImageIcon("d:"+File.separator+"if you"+File.separator+"退出.png");
		
		newItem = new JMenuItem("新建(N)", newIcon);
        openItem = new JMenuItem("打开(O)", openIcon);
        saveItem = new JMenuItem("另存为(A)", saveIcon);
        closeItem = new JMenuItem("退出(X)", closeIcon);
        
		area=new JTextArea(10,30);
		area.setLineWrap(true);
		
		scr = new JScrollPane(area,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        
		
		//设置快捷键
		newItem.setMnemonic(KeyEvent.VK_N);
		openItem.setMnemonic(KeyEvent.VK_O);
		saveItem.setMnemonic(KeyEvent.VK_A);
		closeItem.setMnemonic(KeyEvent.VK_X);
		
		newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,java.awt.Event.CTRL_MASK));
		openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,java.awt.Event.CTRL_MASK));
		saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,java.awt.Event.CTRL_MASK));
		closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,java.awt.Event.CTRL_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);
		
		frame.setJMenuBar(bar);
		area.setEditable(true);
		
		frame.add(scr);
		frame.setSize(300 ,300);
		frame.setVisible(true);
	}

    //按钮事件监听
	public void actionPerformed(ActionEvent e) {
		
		Object obj=e.getSource();
		if(obj instanceof JMenuItem) {
			JMenuItem item=(JMenuItem) obj;
			if(item==newItem) {
				new TextMenu();
			}
			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 ee) {
					ee.printStackTrace();
				}catch(IOException eee) {
					eee.printStackTrace();
				}
				 
			}else if(item==saveItem) {
				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 eee) {
					eee.printStackTrace();
				}
		
			}else if(item == closeItem) {
                System.exit(1);
            }
		  
        }
	}
	
}

实验结果:




实验过程:

此题运用JMenu与JMenuItem来构建菜单与菜单项,当选择某个菜单项时会触发ActionEvent事件。 开头导入所需要的包,再定义要用到的属性(窗体、文本域、滚动条、JMenu,JMenuBar,菜单项,菜单项图标等)并将其实例化。再利用add()方法将属性、事件监听器加入。再在监听中利用if else,try...catch等语句实现菜单项的功能即可。

学习总结:

这个题目照着老师上课的方法来做的。老师讲的还是简单明了清晰,一步一来的。没有书上的复杂,能让学生更容易接受听懂一点。可是数据库真的好复杂啊,好难。

posted on 2019-11-29 18:19  赵纾寻  阅读(183)  评论(1编辑  收藏  举报