本周总结
1.对于jdbc的一个了解
主要常用操作类与接口:
java.sql.DriverManager 用于管理jdbc驱动程序
Java.sql.Connection 用于建立与特定数据库的连接
Java.sql.Statement 一个Statement的对象用于执行静态sql语句,并获得语句执行后产生的后果
Java.sql.PreparedStatement 创建一个可以编译的sql语句对象,该对象可以多次被运行,以提高执行效率,是Statement的子接口
Java.sql.ResultSet 用于创建表示sql语句检索结果的结果集,用户通过结果集完成对数据库的访问
2.MySQL的安装与配置
3.MySQL的常用命令
1)mysql -u用户名 -p密码 连接mysql数据库
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;
4.配置mysql数据库的驱动程序
package textshujuku;
public class Text {
public static final String DBDRIVER="ora.gjt.mm.mysql.Driver";
public static void main(String[] args) {
try {
Class.forName(DBDRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
5.连接及关闭数据库
使用DriverManager类连接数据库和Connection接口
-
JDBC:
Java DataBase Connectivity 即java数据库连接。
jdbc是oracle公司指定的一套规范(一套接口) -
驱动:jdbc的实现类.由数据库厂商提供.
ps :我们可以使用厂商提供的jar例如mysql的jar包mysql-connector-java-5.1.39-bin.jar(随便下了一个版本的jar)来操作(通过jar包内的api)数据库 -
提供商 例如mysql提供了mysql的jar包,oracle 提供了oracle的jar包
(使用不同的jar包提供的api 就可以操作不同的数据库)
所以我们总结了jdbc 的功能:
1 连接数据库
2 发送sql语句
3 处理结果
1 package demo01; 2 3 import java.awt.Font; 4 import java.awt.event.ActionEvent; 5 import java.awt.event.ActionListener; 6 import java.io.File; 7 import java.io.FileInputStream; 8 import java.io.FileNotFoundException; 9 import java.io.FileOutputStream; 10 import java.io.PrintStream; 11 import java.util.Scanner; 12 13 import javax.swing.JFileChooser; 14 import javax.swing.JFrame; 15 import javax.swing.JLabel; 16 import javax.swing.JMenu; 17 import javax.swing.JMenuBar; 18 import javax.swing.JMenuItem; 19 import javax.swing.JScrollPane; 20 import javax.swing.JTextArea; 21 import javax.swing.KeyStroke; 22 23 public class Test { 24 25 public Test() { 26 27 final JFrame j = new JFrame("记事本"); 28 29 final JTextArea text = new JTextArea(); 30 text.setEditable(true); 31 j.getContentPane().add(new JScrollPane(text)); 32 // 设置菜单栏 33 JMenu menuFile = new JMenu("文件"); 34 JMenuBar menuBar = new JMenuBar(); 35 menuBar.add(menuFile); 36 j.setJMenuBar(menuBar); 37 38 JMenu help = new JMenu("帮助"); 39 JMenuBar menuBar2 = new JMenuBar(); 40 menuBar.add(help); 41 j.setJMenuBar(menuBar); 42 // 设置菜单项 43 44 JMenuItem newItem = new JMenuItem("新建(N)"); 45 menuFile.add(newItem); 46 newItem.setMnemonic('N'); 47 newItem.setAccelerator(KeyStroke.getKeyStroke('N', 48 java.awt.Event.CTRL_MASK)); 49 50 JMenuItem openItem = new JMenuItem("打开(O)"); 51 menuFile.add(openItem); 52 openItem.setMnemonic('O'); 53 openItem.setAccelerator(KeyStroke.getKeyStroke('O', 54 java.awt.Event.CTRL_MASK)); 55 56 JMenuItem saveItem = new JMenuItem("保存(S)"); 57 menuFile.add(saveItem); 58 saveItem.setMnemonic('S'); 59 saveItem.setAccelerator(KeyStroke.getKeyStroke('S', 60 java.awt.Event.CTRL_MASK)); 61 62 JMenuItem saveToItem = new JMenuItem("另存为.. "); 63 menuFile.add(saveToItem); 64 65 menuFile.addSeparator(); 66 67 JMenuItem closeItem = new JMenuItem("退出(X)"); 68 menuFile.add(closeItem); 69 closeItem.setMnemonic('X'); 70 71 JMenuItem aboutItem = new JMenuItem("关于记事本(A)"); 72 help.add(aboutItem); 73 aboutItem.setMnemonic('A'); 74 75 // 事件监听 76 newItem.addActionListener(new ActionListener() { 77 @Override 78 public void actionPerformed(ActionEvent e) { 79 text.setText(""); 80 } 81 }); 82 openItem.addActionListener(new ActionListener() { 83 @Override 84 public void actionPerformed(ActionEvent e) { 85 File file = null; 86 int result = 0; 87 JFileChooser filechooser = new JFileChooser(); 88 text.setText(""); 89 filechooser.setApproveButtonText("确定"); 90 filechooser.setDialogTitle("打开文件"); 91 result = filechooser.showOpenDialog(j);// 显示打开文件窗口 92 if (result == JFileChooser.APPROVE_OPTION) {// 确定 93 file = filechooser.getSelectedFile();// 得到选择的文件对象 94 } 95 if (file != null) { 96 try { 97 Scanner sc = new Scanner(new FileInputStream(file)); 98 sc.useDelimiter(" "); 99 while (sc.hasNext()) { 100 text.append(sc.next()); 101 } 102 } catch (FileNotFoundException e1) { 103 e1.printStackTrace(); 104 } 105 } 106 107 } 108 }); 109 saveItem.addActionListener(new ActionListener() { 110 @Override 111 public void actionPerformed(ActionEvent e) { 112 File file = null; 113 int result = 0; 114 JFileChooser filechooser = new JFileChooser(); 115 filechooser.setApproveButtonText("确定"); 116 filechooser.setDialogTitle("保存文件"); 117 result = filechooser.showSaveDialog(j);// 显示保存文件窗口 118 if (result == JFileChooser.APPROVE_OPTION) {// 确定 119 file = filechooser.getSelectedFile();// 得到选择的文件对象 120 } 121 if (file != null) { 122 try { 123 PrintStream out = new PrintStream(new FileOutputStream( 124 file)); 125 out.print(text.getText()); 126 out.close(); 127 } catch (FileNotFoundException e1) { 128 e1.printStackTrace(); 129 } 130 } 131 132 } 133 }); 134 saveToItem.addActionListener(new ActionListener() { 135 @Override 136 public void actionPerformed(ActionEvent e) { 137 138 } 139 }); 140 closeItem.addActionListener(new ActionListener() { 141 @Override 142 public void actionPerformed(ActionEvent e) { 143 System.exit(0); 144 } 145 }); 146 aboutItem.addActionListener(new ActionListener() { 147 @Override 148 public void actionPerformed(ActionEvent e) { 149 JFrame j1 = new JFrame("关于记事本"); 150 JLabel lab=new JLabel("developer:zyz",JLabel.CENTER); 151 Font font=new Font("arial",Font.ITALIC+Font.BOLD,28); 152 lab.setFont(font); 153 j1.add(lab); 154 j1.setSize(300, 200); 155 j1.setLocation(350,350); 156 j1.setResizable(false); 157 j1.setVisible(true); 158 159 } 160 }); 161 162 j.setSize(400, 300); 163 j.setLocation(300, 300); 164 j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 165 j.setVisible(true); 166 167 } 168 169 }