第十四周课程总结&实验报告
17.1JDBC概述
17.1.1JDBC简介:Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。
17.1.2JDBC驱动分类:
JDBC驱动类型一:JDBC-ODBC桥驱动
JDBC驱动类型二:JCDBC本地驱动
JDBC驱动类型三:JDBC网络驱动
JDBC驱动类型四:本地协议纯JDBC驱动
17.1.3JDBC的主要操作类及接口
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 定义一个数据库的驱动接口。
17.2MySQL数据库
17.2.1MySQL简介:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
库操作:
1、创建数据库
命令:create database <数据库名>
例如:建立一个名为xhkdb的数据库
mysql> create database xhkdb;
2、显示所有的数据库
命令:show databases
mysql> show databases;
3、删除数据库
命令:drop database <数据库名>
例如:删除名为 xhkdb的数据库
mysql> drop database xhkdb;
4、连接数据库
命令: use <数据库名>
例如:如果xhkdb数据库存在,尝试存取它:
mysql> use xhkdb;
屏幕提示:Database changed
5、查看当前使用的数据库
mysql> select database();
6、当前数据库包含的表信息:
mysql> show tables;
实验报告:
实验代码:
test
package demo;
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.print.PageFormat;
import java.awt.print.PrinterJob;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class test implements ActionListener {
JFrame frame;
JMenuBar bar;
JMenu fileMenu,editMenu,formatMenu,searchMenu,helpMenu;
JMenuItem newItem,openItem,saveItem,closeItem,pageItem,printItem;
JMenuItem withdrawItem,shearItem,copyItem,stickItem,delateItem,seekItem,seeknextItem,replaceItem,turnItem,checkallItem,timeItem;
JScrollPane scroll;
JTextArea area;
JFileChooser chooser;
File file;
public test() {
frame=new JFrame("记事本");
bar=new JMenuBar();
fileMenu=new JMenu("文件");
editMenu=new JMenu("编辑");
formatMenu=new JMenu("格式");
searchMenu=new JMenu("查找");
helpMenu=new JMenu("帮助");
newItem=new JMenuItem("新建(N)");
openItem=new JMenuItem("打开(O)");
saveItem=new JMenuItem("另存为(A)");
pageItem=new JMenuItem("页面设置(U)");
printItem=new JMenuItem("打印(P)");
closeItem=new JMenuItem("关闭(X)");
withdrawItem=new JMenuItem("撤回(U)");
shearItem=new JMenuItem("剪切(T)");
copyItem=new JMenuItem("复制(C)");
stickItem=new JMenuItem("粘贴(P)");
delateItem=new JMenuItem("删除(L))");
seekItem=new JMenuItem("查找(F)");
seeknextItem=new JMenuItem("查找下一个(N)");
replaceItem=new JMenuItem("替换(R)");
turnItem=new JMenuItem("转到(G)");
checkallItem=new JMenuItem("全选(A)");
timeItem=new JMenuItem("时间(D)");
area=new JTextArea();
scroll=new JScrollPane(area);
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
closeItem.addActionListener(this);
pageItem.addActionListener(this);
printItem.addActionListener(this);
fileMenu.add(newItem);
fileMenu.addSeparator();
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
fileMenu.addSeparator();
fileMenu.add(pageItem);
fileMenu.addSeparator();
fileMenu.add(printItem);
fileMenu.addSeparator();
fileMenu.add(closeItem);
editMenu.add(withdrawItem);
editMenu.addSeparator();
editMenu.add(shearItem);
editMenu.addSeparator();
editMenu.add(copyItem);
editMenu.addSeparator();
editMenu.add(stickItem);
editMenu.addSeparator();
editMenu.add(delateItem);
editMenu.addSeparator();
editMenu.add(seekItem);
editMenu.addSeparator();
editMenu.add(seeknextItem);
editMenu.addSeparator();
editMenu.add(replaceItem);
editMenu.addSeparator();
editMenu.add(turnItem);
editMenu.addSeparator();
editMenu.add(checkallItem);
editMenu.addSeparator();
editMenu.add(timeItem);
newItem.setMnemonic(KeyEvent.VK_N);
newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,java.awt.Event.CTRL_MASK));
openItem.setMnemonic(KeyEvent.VK_O);
openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,java.awt.Event.CTRL_MASK));
saveItem.setMnemonic(KeyEvent.VK_A);
saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,java.awt.Event.CTRL_MASK));
closeItem.setMnemonic(KeyEvent.VK_X);
closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,java.awt.Event.CTRL_MASK));
pageItem.setMnemonic(KeyEvent.VK_U);
pageItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,java.awt.Event.CTRL_MASK));
printItem.setMnemonic(KeyEvent.VK_P);
printItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,java.awt.Event.CTRL_MASK));
frame.setJMenuBar(bar);
frame.add(scroll);
frame.setSize(750,500);
frame.setVisible(true);
bar.add(fileMenu);
bar.add(editMenu);
bar.add(formatMenu);
bar.add(searchMenu);
bar.add(helpMenu);
}
@Override
public void actionPerformed(ActionEvent event) {
Object obj=event.getSource();
if(obj instanceof JMenuItem) {
JMenuItem item=(JMenuItem)obj;
if(item==newItem)
{
new test();
}else if(item==openItem) {
chooser=new JFileChooser();
chooser.showOpenDialog(null);
file=chooser.getSelectedFile();
try {
FileInputStream fis=new FileInputStream(file);
try {
byte[] b=new byte[fis.available()];
fis.read(b);
area.append(new String(b));
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}else if(item==saveItem) {
chooser=new JFileChooser();
chooser.showOpenDialog(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==pageItem)
{
PageFormat pf = new PageFormat();
PrinterJob.getPrinterJob().pageDialog(pf);
}
else if(item==printItem) {
Print();
}
else if(item==closeItem) {
System.exit(1);
}
}
}
private void Print() {
// TODO Auto-generated method stub
}
}
test1
package demo;
public class test1 {
public static void main(String[] args) {
new test();
}
}
运行截图: