JDBC—DAO
一、JDBC
|
什么是JDBC? |

|
JDBC访问数据库的步骤? |

|
两种常用的驱动方式: |
- (一)JDBC-ODBC连接数据库




|
1、在不需要ResultSet对象,Statement对象,Connection对象的时候,显示地关闭它们 |
- (二)纯JAVA方式连接数据库





(三)常用的5个对象
Connection,DriverManager(略,见用例)
1、Statement常用方法

2、ResultSet常用方法

3、PreparedStatement的介绍
a : PreparedStatement接口继承自Statement接口:(优点):
1.提高了代码的可读和可维护性
2.提高了SQL语句的执行性能
3.提高了安全性( or '1'='1' 注入拼接攻击)
b : PreparedStatement接口的使用
使用PreparedStatement的execute(String sql)方法执行sql语句如果是查询的话返回true,如果是更新或插入的话就返回false所以执行插入或更新语句应该使用executeUpdate():
(1) 返回SQL 数据操作语言 (DML) 语句的行数
(2) 对于无返回内容的 SQL 语句,返回 0。
c : statement和preparedStatement的区别:
1.statement每次执行sql语句,相关数据库都要执行拼接sql语句的编译,preparedstatement是预编译的,代码可重用支持批处理。使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。
2: statement需要拼接sql语句,preparedstatement的sql语句可以用变量替换,达到代码重用的好处
3.安全性:传递给Statement的字符串参数会自动被驱动器忽略。传递给PreparedStatement对象的参数可以被强制进行类型转换,使开发人员可以确保在插入或查询数据时与底层的数据库格式匹配。
d : 使用PreparedStatement操作数据库的三步骤:
1.创建PreparedStatement对象
2.设置每个输入参数的值
3.执行SQL语句
PreparedStatement用例:

JDBC用例:


二、JDBC—DAO模式
|
什么是DAO? |




JDBC—DAO的更多相关文章
- jdbc/DAO模式
DAO设计模式: 1.DAO: DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性. 2.DAO各部分详解:DAO设计模式包括以下4个主要部分: ...
- jdbc之二:DAO模式
详细代码请参见 https://code.csdn.net/jediael_lu/daopattern 1.创建Dao接口. package com.ljh.jasonnews.server.dao; ...
- JDBC通用DAO
dbcBaseDao接口,内容如下: package com.sun4j.core.jdbc.dao; import java.io.Serializable; import java.util.Li ...
- jdbc之二:DAO模式 分类: B1_JAVA 2014-04-29 15:13 1536人阅读 评论(0) 收藏
详细代码请参见 https://github.com/lujinhong/dao 一.前期准备 1.创建数据库 create database filter_conf; 2.创建表并插入数据 crea ...
- JDBC的增删改写成一个方法,调用一个工具类
package com.hx.jdbc.connection; import java.sql.Connection; import java.sql.Statement; import com.my ...
- mysql的jdbc入门学习小结
转自:专注JavaWeb开发 http://www.javaweb1024.com/data/MySQL/2015/04/25/618.html 一.jdbc基本概念jdbc : Java Datab ...
- Spring-JDBC通用Dao
JdbcBaseDao JdbcBaseDao接口,内容如下: package com.sun4j.core.jdbc.dao; import java.io.Serializable; import ...
- spring对dao层的支持(datasource的作用)
本文大多数内容转自“http://www.cnblogs.com/liunanjava/p/4412408.html”感谢原作者 在做一个项目时,持久层并没有使用spring jpa和hibernat ...
- JDBC第二次学习
脑子太笨,必须得记录下来一些文字,方便回来查询. 这是我的第二次学习JDBC的笔记,看的是传智播客——李勇老师的JDBC系列,已看到第23集. 分析在实际项目中该如何应用JDBC 一个简单用户相关的数 ...
随机推荐
- PyQt5资料
http://bbs.fishc.com/thread-59816-1-1.html https://pypi.python.org/pypi/PyQt5/ http://www.thehackeru ...
- 关于js中遍历总结
1.for循环 var arr = []; for (var i = 0; i < arr.length; i++) { if (条件1) return; if (条件2) break; if ...
- 【cb2】安装终端
虽然xterm轻量,但用起来不爽. sudo apt-get install terminator 其它安装 sudo apt-get install spyder sudo apt-get inst ...
- JQuery------实现鼠标点击和滑动不同效果
如图: 代码: html <ul class="price-brand-right"> @foreach (Brand item in ViewBag.Brand) { ...
- iOS开发之--svn工具Cornerstone上传忽略.a文件的处理方法
工程文件上传到svn中,.a文件会自动屏蔽(应该叫屏蔽,反正就是上传不上去) 用Cornerstone工具,解决这个问题 1.打开Cornerstone左上角,点Cornerstone->Pre ...
- 【BZOJ4275】[ONTAK2015]Badania naukowe DP
[BZOJ4275][ONTAK2015]Badania naukowe Description 给定三个数字串A,B,C,请找到一个A,B的最长公共子序列,满足C是该子序列的子串. Input 第一 ...
- 修改DedeCMS图片上传路径命名规则的具体方法步骤
收藏到:0时间:2013-08-23 文章来源:马海祥博客 访问次数:2350 最近在整理网站根目录下文件的时候,发现马海祥博客网站已经有上千个文件夹了,其中光图片文件夹就占了近一半.这个主要 ...
- [Android Tips] 26. Multiple Maven repositories in Gradle
来自 https://gradleproject.wordpress.com/2013/02/14/multiple-maven-repositories-in-gradle/ This DOESN' ...
- 160418、ztree权限菜单
1.页面中引用ztree的css和js(大家自行下载ztree) <link rel="stylesheet" href="${ctx}/resources/js/ ...
- golang几种post方式
用golang进行http请求类型多了,总结备忘一下. 1.普通的post\get请求 var r http.Request r.ParseForm() r.Form.Add("uuid&q ...