java第八章JDBC
JDBC实现各种数据库的访问
实现把各种数据存入数据库从而长久保存(JDBC充当了java应用程序于各种不同数据库之间进行对话的媒介)
JDBC工作原理
JDBC API由Sun公司提供,主要包括Connection接口,Statement接口,ResultSet(结果集)接口,PreparedStatement接口等
JDBC API主要做三件事:与数据库连接,发送SQL语句,处理结果
DriverManager类:依据数据库的不同,管理相应的JDBC驱动
Connection接口:负责连接数据库并担任传送数据的任务
Statement接口:由Connection产生,负责SQL语句
ResultSet接口:负责保存和处理Statement执行后产生的查询结果
PreparedStatement接口:Statement子接口,也由Connection产生,同样负责执行SQL语句,与Statement接口相比,具有高安全性,高性能,高可读性和高可维护性的优点
开发一个JDBC程序基本需要四步骤:
1.加载驱动 Class.forName(“JDBC驱动类的名称”); 一般写法固定的(Class.forName(“com.mysql.jdbc.Driver”))
2.与数据库建立连接 Connection con = DriverManager.getConnection(数据库连接字符串,数据库用户名,密码);
3.发送SQL语句,并得到返回结果 Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT id,name FROM master");
4.处理返回结果
执行SQL语句
ResultSet executeQuery();可执行SQL查询并获取到ResultSet对象 (运用在查询语句中)rs的第一行为0;遍历ResultSet对象 while(rs.next(){rs.getString/getInt(1);rs.getString/getInt})有几个想要输出的项就写几个
int executeUpdate();可以执行插入,删除,更新(增删改)操作,返回值是执行该操作所影响的行数(返回的是整形)
boolean execute();可以执行任意SQL语句,若结果为ResultSet对象,则返回true,增删改或不存在任何结果返回false
PreparedStatement 比 Statement的好处:
提高了代码的可读性和可维护性
提高了SQL语句执行的性能
提高了安全性(只要是说PreparedStatement好的都是正确的)
java第八章JDBC的更多相关文章
- Java数据库连接技术——JDBC
大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API ...
- java:comp/env/jdbc/ 的两种配置方法
1. 在 META-INF 下建立文件: context.xml <?xml version="1.0" encoding="UTF-8"?> &l ...
- Java Hour 24 JDBC
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 虽然现在都不会直接写JDBC 了,但是了解毕竟是需要的.当然这个和ADO.Ne ...
- 理解JNDI中 java:comp/env/jdbc/datasource 与 jdbc/datasource 的不同之处(转)
在描述JNDI,例如获得数据源时,JNDI地址有两种写法,例如同是 jdbc/testDS 数据源: A:java:comp/env/jdbc/testDS B:jdbc/testDS 这两种写 ...
- java基础(11) -JDBC
java基础(11) -JDBC jdbc 1.装载驱动 载入跟数据库建立连接的驱动 /* sql server: String className ="com.microsoft.sqls ...
- Java学习之JDBC 2019/3/10
Java学习之JDBC 大部分的程序都是用来通过处理数据来达到人们预期的效果,数据是粮食,没有数据操作的程序就像helloworld程序一样没有用处.因此数据库操作是重中之重,是程序发挥功能的基石,j ...
- 完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络]
完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络] 地址:http://blog.csdn.net/qq_35101189/article/details/53729720?ref=m ...
- java中使用jdbc配置连接串时mysql 5.6与5.7版本“编码”参数有区别!
在mysql5.6中 java程序使用jdbc时链接字符串应该使用?characterEncoding=utf-8,而5.7版本可以省略,否则可能会有相关的语句执行结果出错! String drive ...
- Java连接数据库 #02# JDBC经典套路
内容索引 LocalConnectionFactory.java LocalConnectionProxy.java ProfileDAO.java-2.0 ProfileDAOImpl.java-2 ...
随机推荐
- 如何检查tensorflow环境是否能正常调用GPU
检查keras/tensorflow是否正常调用GPU代码 os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os. ...
- analyse idoc by creation date
t-code ZMM0127 infoset: ZMM_IDOC_READ_01 go to code: AUTHORITY-CHECK OBJECT 'S_IDOCMONI'ID 'ACTVT' F ...
- sqlserver 游标使用
文章来源:https://blog.csdn.net/farmwang/article/details/78661326 --声明一个游标 DECLARE MyCursor CURSOR FOR SE ...
- 01-使用eclipse新建一个标准的 java web项目
1.使用eclipse创建个普通的Java SE项目 名称:CRM java web标准目录结构 crm WEB-INF classes lib web.xml 设置项目字节码输出目录
- Tesseract训练
最近在用Tesseract做一个图片识别的小应用,目标图像只有数字和英文字母,在实际使用过程中发现个别数识别错误,因此不得不研究学习Tesseract的训练. http://www.cnblogs.c ...
- java异常处理——finally相关
示例程序1 public class EmbededFinally { public static void main(String args[]) { int result; try { Syste ...
- 前端面试题目汇总摘录(JS 基础篇)
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...
- java-其他-索引
数据结构 设计模式 算法题
- abp.net zero 运行报500.21,错误模块AspNetCoreModuleV2
关于这个运行时提示的问题,导致项目无法运行,之前我是遇到过的,也是查了很久最后解决了 但忘记记录了...岁数大了脑袋不好用了...这次依然找了各种方案,有很多都说由于net core 不是最新的,但我 ...
- 2522 和为K的倍数
2522 和为K的倍数 2 秒 262,144 KB 10 分 2 级题 小b喜欢和为K的倍数的序列. 现在有一个长度为n的序列A,请问A有多少个非空连续子序列是小b喜欢的. 收起 输入 第一 ...