学习总结
JDBC:即Java数据库连接,提供了一种与平台无关的用于执行SQL语句的标准javaAPI,可以方便实现多种关系型数据库的统一操作.
JDBC常用的类与接口:DriverManager、Connection、Statement、Result、PreparedStatement.
JDBC操作步骤:
连接数据库
1.配置MySQL数据库的驱动程序:下载相应的MySQL,若能输出Class,则已经配置好了.
2.DriveManager:(1)getConnection(String url, String user ,String password) :通过连接地址链接数据库,同时输入用户名和密码 (2)子名称:一种标识数据库的方法,必须遵循”//主机名 : 端口/子协议" 的标准URL命名 .
3.数据库的更新操作:Statement接口,通过Connection接口的createStatement()方法实例化,来操作数据.
简单记事本的实现
package Lemon;
import java.awt.*;
import javax.swing.*;
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;
public class Note implements ActionListener {
JFrame frame;
JMenuBar bar;
JMenu fileMenu,editMenu,formatMenu,searchMenu,helpMenu;
JMenuItem newItem,openItem,saveItem,closeItem;
JScrollPane scroll;
JTextArea area;
JFileChooser chooser;
File file;
public Note() {
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)");
closeItem=new JMenuItem("关闭(X)");
area=new JTextArea();
scroll=new JScrollPane(area);
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
closeItem.addActionListener(this);
fileMenu.add(newItem);
fileMenu.addSeparator();
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
fileMenu.addSeparator();
fileMenu.add(closeItem);
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));
frame.setJMenuBar(bar);
frame.add(scroll);
frame.setSize(800,500);
frame.setVisible(true);
bar.add(fileMenu);
bar.add(editMenu);
bar.add(formatMenu);
bar.add(searchMenu);
bar.add(helpMenu);
}
public void actionPerformed(ActionEvent event) {
Object obj=event.getSource();
if(obj instanceof JMenuItem) {
JMenuItem item=(JMenuItem)obj;
if(item==newItem)
{
new Note();
}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==closeItem)
{
System.exit(1);
}
}
}
}
package Lemon;
public class Test {
public static void main(String[] args) {
Note no = new Note();
}
}