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 ...
随机推荐
- [UE4]抓取准备
一.引擎的VR实例工程是使用手柄进行抓取的.我们需要加上可以使用鼠标进行抓取操作. 二.将左右手保存到全局变量. 三.左右手分别调用抓取和扔方法
- Tree Traversals Again
An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example ...
- Unity 代码组件获取和使用、Resources加载、OnGUI、Time、Mathf、PlayerPref
1. 游戏物体组件获取.添加组件(重要) 作业分析: 子弹生成:坦克生成----->坦克控制类里生成子弹 子弹飞行:子弹自己飞,不能通过坦克控制类进行管理: 获取代码组件,设置子弹速度: ...
- java 调用c# web api 代码
上次我们写的.net web api 给对方公司的java团队调用,他们觉得说java无法调用.net 写的api ,靠居然有这事,索性自己写一个java的demo给他们 使用apache的Http ...
- 关于eclipse创建web工程没有生成webapp文件夹的解决方案
先看工程建立的是不是配置的打成War包,然后按下图所示
- 团队第九次 # scrum meeting
github 本此会议项目由PM召开,召开时间为4-14日晚上9点,以大家在群里讨论为主 召开时长10分钟 任务表格 袁勤 负责协调前后端 https://github.com/buaa-2016/p ...
- vue+axios完美实现前端路由拦截
一.路由拦截 1.首先在router的index.js里配置一个自定义字段requireAuth,用该字段来判断进入该路由是否需要登录.如果已经登陆则进入该路由,反之则进入登录页面. 如图是路由配置: ...
- springboot之拦截器
拦截器: package com.example.demo; import org.springframework.context.annotation.Bean; import org.spring ...
- ubuntu装bochs的常见问题
1.Message: dlopen failed for module ‘x’: file not found 原因 未安装bochs-x的缘故 解决办法 sudo apt-get install b ...
- zookeeper、solrcloud、rediscluster集群解决方案
集群解决方案 课程目标 目标1:说出什么是集群以及与分布式的区别 目标2:能够搭建Zookeeper集群 目标3:能够搭建SolrCloud集群 目标4:能够搭建RedisCluster集群 ...