本周完成了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等语句实现菜单项的功能即可。
学习总结:
这个题目照着老师上课的方法来做的。老师讲的还是简单明了清晰,一步一来的。没有书上的复杂,能让学生更容易接受听懂一点。可是数据库真的好复杂啊,好难。