本周完成了JDBC 的学习,请对此内容进行总结。
完成简单记事本的练习。
1 import java.awt.FileDialog; 2 import java.awt.event.ActionEvent; 3 import java.awt.event.ActionListener; 4 import java.io.File; 5 import java.io.FileInputStream; 6 import java.io.FileNotFoundException; 7 import java.io.FileOutputStream; 8 import java.io.IOException; 9 import java.io.PrintStream; 10 import javax.swing.JFileChooser; 11 import javax.swing.JFrame; 12 import javax.swing.JMenu; 13 import javax.swing.JMenuBar; 14 import javax.swing.JMenuItem; 15 import javax.swing.JScrollPane; 16 import javax.swing.JTextArea; 17 18 19 class Demo implements ActionListener 20 { 21 private JFrame frame = new JFrame("记事本"); 22 private JMenu fileMenu = new JMenu("文件"); 23 private JMenu editMenu = new JMenu("编辑"); 24 private JMenuBar bar = new JMenuBar(); 25 private JMenuItem newItem = new JMenuItem("新建"); 26 private JMenuItem openItem = new JMenuItem("打开"); 27 private JMenuItem saveItem = new JMenuItem("保存"); 28 private JMenuItem saveasItem = new JMenuItem("另存为"); 29 private JMenuItem closeItem = new JMenuItem("关闭"); 30 private JTextArea area = new JTextArea(); 31 private JScrollPane scroll = new JScrollPane(area,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 32 JFileChooser chooser; 33 File file; 34 FileDialog savedia; 35 36 public Demo() 37 { 38 39 bar.add(fileMenu); 40 bar.add(editMenu); 41 42 fileMenu.add(newItem); 43 fileMenu.add(openItem); 44 fileMenu.add(saveItem); 45 fileMenu.add(saveasItem); 46 fileMenu.add(closeItem); 47 48 newItem.addActionListener(this); 49 openItem.addActionListener(this); 50 saveItem.addActionListener(this); 51 saveasItem.addActionListener(this); 52 closeItem.addActionListener(this); 53 area.setEditable(true); 54 frame.add(scroll); 55 frame.setJMenuBar(bar); 56 frame.setVisible(true); 57 frame.setSize(400, 300); 58 } 59 public void actionPerformed(ActionEvent event) 60 { 61 Object obj = event.getSource(); 62 if(obj instanceof JMenuItem) 63 { 64 JMenuItem item = (JMenuItem) obj; 65 if(item == newItem) 66 { 67 new Demo(); 68 } 69 else if(item == openItem) 70 { 71 chooser = new JFileChooser(); 72 chooser.showOpenDialog(null); 73 file = chooser.getSelectedFile(); 74 try 75 { 76 FileInputStream fis= new FileInputStream(file); 77 byte[] b = new byte[fis.available()]; 78 fis.read(b); 79 area.append(new String(b)); 80 fis.close(); 81 } 82 catch (FileNotFoundException e) 83 { 84 e.printStackTrace(); 85 } 86 catch (IOException e) 87 { 88 e.printStackTrace(); 89 } 90 } 91 else if(item == saveItem) 92 { 93 if(file!=null) 94 { 95 try 96 { 97 PrintStream out = new PrintStream(new FileOutputStream(file)); 98 out.print(this.area.getText()); 99 out.close(); 100 } 101 catch (FileNotFoundException e) 102 { 103 e.printStackTrace(); 104 } 105 } 106 else if(file == null) 107 { 108 savedia = new FileDialog(frame,"保存",FileDialog.SAVE); 109 savedia.setVisible(true); 110 111 String diaPath = savedia.getDirectory(); 112 String fileName = savedia.getFile(); 113 114 if(diaPath == null ||fileName == null) 115 { 116 file = new File(diaPath,fileName); 117 } 118 } 119 120 } 121 else if(item == saveasItem) 122 { 123 chooser.showSaveDialog(null); 124 file = chooser.getSelectedFile(); 125 if(!file.exists()) 126 { 127 try 128 { 129 if(!file.exists()) 130 { 131 file.createNewFile(); 132 } 133 FileOutputStream fos=new FileOutputStream(file); 134 byte[] b = area.getText().getBytes(); 135 fos.write(b); 136 fos.close(); 137 } 138 catch (IOException e) 139 { 140 e.printStackTrace(); 141 } 142 } 143 } 144 else if(item == closeItem) 145 { 146 System.exit(1); 147 } 148 } 149 150 } 151 } 152 public class DemoTest 153 { 154 public static void main(String args[]) 155 { 156 new Demo(); 157 } 158 }



JDBC规范(掌握四个核心对象):
DriverManager类:用于注册驱动(创建连接对象)。 java.sql.DriverManager;
Connection接口:表示与数据库创建的连接 。java.sql.Connection;
Statement接口:操作数据库sql语句的对象,并返回相应结果的对象。 java.sql.Statement;
preparedStatement接口:预编译对象,是Statement对象的子类。用于解决sql的注入问题。实际用的是这个类。java.sql.PreparedStatement;
ResultSet接口:结果集或一张虚拟表(客户端存表数据的对象)。 java.sql.ResultSet;
开发步骤:
1、注册驱动.
告知JVM使用的是哪一个数据库的驱动
2、获得连接.
使用JDBC中的类,完成对MySQL数据库的连接
3、获得语句执行平台
通过连接对象获取对SQL语句的执行者对象
4、执行sql语句
使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果
5、处理结果
6、释放资源.
浙公网安备 33010602011771号