JDBC笔记
2016-08-11 09:33
302 查看
1、应用程序和数据库之间的关系:
应用程序-->JDBC-->数据库Driver-->数据库
2、链接数据库步骤:
(1).注册驱动(只做一次)
(2).建立连接(Connection)
(3).创建SQL语句(Statement)
(4).执行语句
(5).处理结果
(6).释放资源
3、注册驱动的方式(mySql):
1.Class.forName("com.mysql.jdbc.Driver");
2.DriverManager.registerDriver(new com.mysql.jdbc.Driver());
3.System.setProperty("jdbc.drivers", "com.mysql.jdbc.Drive");
推荐使用第一种方式。因为:第2种方式会生成2个Driver对象的实例。第3种方式会对数据库驱动产生依赖。
详细原因:http://xm-king.iteye.com/blog/798331
三种驱动方式的详细介绍:http://blog.sina.com.cn/s/blog_670c5a4001017e2e.html
4、数据库连接URL规则
JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&属性名=属性值&...
各种数据库连接URL总结:http://blog.csdn.net/it_yijihua/article/details/17878649
5、PreparedStatement和Statement的区别
PreparedStatement接口继承Statement,三种方法execute()、executeQuery()和executeUpdate()已被更改不再需要参数。
(1).最重要的一点是极大地提高了安全性。防止SQL注入。
(2).PreparedStatement,数据库会对sql语句进行预编译,第一次执行消耗较高,但重复执行效率更高(数据库连接未关闭的前提)。
(3).PreparedStatement代码可读性和可维护性更高。
6、大文本文件(字符流)、二进制文件(字节流)的存取
保存
读取
字节流与字符流的区别详解:http://http://blog.csdn.net/zxman660/article/details/7875799
应用程序-->JDBC-->数据库Driver-->数据库
2、链接数据库步骤:
(1).注册驱动(只做一次)
(2).建立连接(Connection)
(3).创建SQL语句(Statement)
(4).执行语句
(5).处理结果
(6).释放资源
3、注册驱动的方式(mySql):
1.Class.forName("com.mysql.jdbc.Driver");
2.DriverManager.registerDriver(new com.mysql.jdbc.Driver());
3.System.setProperty("jdbc.drivers", "com.mysql.jdbc.Drive");
推荐使用第一种方式。因为:第2种方式会生成2个Driver对象的实例。第3种方式会对数据库驱动产生依赖。
详细原因:http://xm-king.iteye.com/blog/798331
三种驱动方式的详细介绍:http://blog.sina.com.cn/s/blog_670c5a4001017e2e.html
4、数据库连接URL规则
JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&属性名=属性值&...
各种数据库连接URL总结:http://blog.csdn.net/it_yijihua/article/details/17878649
5、PreparedStatement和Statement的区别
PreparedStatement接口继承Statement,三种方法execute()、executeQuery()和executeUpdate()已被更改不再需要参数。
(1).最重要的一点是极大地提高了安全性。防止SQL注入。
(2).PreparedStatement,数据库会对sql语句进行预编译,第一次执行消耗较高,但重复执行效率更高(数据库连接未关闭的前提)。
(3).PreparedStatement代码可读性和可维护性更高。
6、大文本文件(字符流)、二进制文件(字节流)的存取
保存
// 存字符流 File file1 = new File(pathname1); Reader reader = new BufferedReader(new FileReader(file1)); ps.setCharacterStream(1, reader, (int) file1.length()); // 存字节流 File file2 = new File(pathname2); InputStream in = new BufferedInputStream(new FileInputStream(file2)); ps.setBinaryStream(2, in, (int) file2.length());
读取
//读字符流 BufferedReader br = new BufferedReader(rs.getCharacterStream("content")); String str = null; StringBuffer sb = new StringBuffer(); while ((str = br.readLine()) != null) { sb.append(str + "\r\n"); } //读字节流 InputStream in = rs.getBinaryStream("pictures"); File file = new File("src/filePack/147124064892_bak.jpg"); OutputStream out = new BufferedOutputStream(new FileOutputStream(file)); byte[] buff = new byte[1024]; for (int i = 0; (i = in.read()) > 0;) { out.write(buff, 0, i); }
字节流与字符流的区别详解:http://http://blog.csdn.net/zxman660/article/details/7875799
相关文章推荐
- JDBC总结笔记1
- jdbc学习笔记2
- JDK6笔记(5)----JDBC4(5)
- JDBC 笔记1
- J2SE学习笔记(5)JDBC
- JDBC 笔记2
- JDK6笔记(6)----JDBC4.0高级应用
- 关于JDBC学习笔记(一)
- jdbc的连接问题-----java数据学习笔记之2
- jdbc 学习笔记3(PreparedStatement对象)
- JDK6笔记(5)----JDBC4(2)
- JDK6笔记(5)----JDBC4(4)
- JDK6笔记(5)----JDBC4(5)
- JDK6笔记(5)----JDBC4(2)
- jdbc笔记四,关于数据类型
- jdbc学习笔记
- JDK6笔记(5)----JDBC4
- JDK6笔记(6)----JDBC4.0高级应用
- JDBC 笔记4
- jdbc笔记1