一.这周学习了JDBC的主要操作类及接口
概念:JDBC(Java DataBase Connectivity)是一种数据库连接技术,
能实现Java程序对各种数据库的访问。由一组使用Java语言编写的类和接口(JDBC API)组成,他们位于java.sql以及javax.sql中。
作用:
1.建立与数据库的访问连接。
2.将编写好的SQL语句发送到数据库执行。
3.对数据库返回的执行结果进行处理。
常用:
java.sql.DriverManager :用于管理JDBC驱动程序
java.sql.Connection :用于建立与特定数据库的连接,一个连接就是一个会话,建立连接后便可以执行SQL语句和获得检索结果。
java.sal.Statement :一个Statement对象用于执行静态SQL语句,并获得语句执行后产生的结果。
java.sql.PreparedStatement : 创建一个可以编译的SQL语句对象,给对象可以被多次运行,以提高执行效率,改接口是Statement的子接口。
java.sql.ResultSet : 用于创建表示SQL语句检索结果集,用户通过结果集完成对数据库的访问。
二.了解MySQL数据库的基本操作和常用命令
MySQL的安装与配置目前还没搞懂...
常用命令:
1.连接:mysql -u [用户名] -p [密码]
(端口要用大写P,与密码p加以区分)
2.创建数据库:CREATE DATABASE [数据库名称]
3.删除数据库:DROP DATABASE [数据库名称]
4.使用某个库:use [数据库名];
5.创建数据库表:
CREATE TABLE 表名称(
字段名称1 字段类型 [DEFAULT 默认值][约束],
字段名称2 字段类型 [DEFAULT 默认值][约束],
...,
字段名称n 字段类型 [DEFAULT 默认值][约束]
);
6.删除数据库表:DROP TABLE 表名称;
7.查看表结构: DESE 表名称;
8.查看数据库信息
查看全部数据库:SHOW DATABASES;
查看一个数据库的全部表:SHOW TABLES;
三.实验设计
代码:
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.*;
import javax.swing.undo.UndoManager;
public class TTest implements ActionListener {
JFrame frame;
JTextArea text;
JScrollPane sp;
JMenuItem newItem,openItem,saveItem,exitItem;
JMenuBar bar;
JMenu fileMenu,editMenu,lookMenu,helpMenu;
JFileChooser choose;
File file;
JTable table;
JMenuItem blankItem;
UndoManager undoManager;
public void Wenjian(){
frame=new JFrame("记事本");
text =new JTextArea(); //定义文本域
sp=new JScrollPane(text);
bar=new JMenuBar(); //用来摆放JMenu组件
JMenu fileMenu =new JMenu("文件");
JMenu exitMenu =new JMenu("编辑");
JMenu lookMenu =new JMenu("查看");
JMenu helpMenu =new JMenu("帮助");
newItem=new JMenuItem("新建");
openItem=new JMenuItem("打开");
saveItem=new JMenuItem("保存");
exitItem=new JMenuItem("退出");
//助记符设置
newItem.setMnemonic('N');
openItem.setMnemonic('O');
saveItem.setMnemonic('S');
exitItem.setMnemonic('E');
//快捷键设置
newItem.setAccelerator(KeyStroke.getKeyStroke('N',KeyEvent.CTRL_DOWN_MASK));
openItem.setAccelerator(KeyStroke.getKeyStroke('O',KeyEvent.CTRL_DOWN_MASK));
saveItem.setAccelerator(KeyStroke.getKeyStroke('S',KeyEvent.CTRL_DOWN_MASK));
exitItem.setAccelerator(KeyStroke.getKeyStroke('E',KeyEvent.CTRL_DOWN_MASK));
//向文件栏添加选项
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.addSeparator();//分割线
fileMenu.add(exitItem);
//关于文件菜单的动作监听
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
exitItem.addActionListener(this);
//向菜单栏添加
bar.add(fileMenu);
bar.add(exitMenu);
bar.add(lookMenu);
bar.add(helpMenu);
frame.add(sp);
frame.setJMenuBar(bar);
frame.setSize(300, 200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main (String[]args) {
TTest text1=new TTest( );
text1.Wenjian();
}
//关于文件菜单选项按钮的监听
public void actionPerformed(ActionEvent e) { //按钮事件监听
//新建
if(e.getSource()==newItem) {
text.setText("");
}
//保存
else if(e.getSource()==openItem) {
choose=new JFileChooser();
choose.showOpenDialog(null);
file=choose.getSelectedFile();
try {
FileInputStream input =new FileInputStream(file); //设置输入流
byte[] b=new byte[input.available()];
input.read(b);
text.append(new String(b));
input.close();
}catch(FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
//打开
else if(e.getSource()==saveItem) {
choose=new JFileChooser();
choose.showOpenDialog(null);
file=choose.getSelectedFile();
try {
FileOutputStream output=new FileOutputStream(file);
byte[] b=text.getText().getBytes();
output.write(b);
output.close();
} catch (IOException e1) {
e1.printStackTrace();
}
//退出
if(e.getSource()==exitItem) {
System.exit(1);
}
}
}
}
截图: