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("\n"); 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 }
package demo01; public class Main { public static void main(String[] args) { Test t=new Test(); } }

原文:https://www.cnblogs.com/yanzi404/p/11959122.html