0822JDBC--Java连接数据库
JDBC定义:
JDBC全称: Java DataBase Connectivity
独立于特定数据管理系统, 通用的sql数据库存取和操作的公共接口, 是一种面向接口编程
JDBC为访问不同的数据库提供了不同的途径
ojdbc6.jar是JDBC连接数据库所必需的一个驱动包, 这个驱动包里面的某些特定的方法实现了下面三个接口, 从而可以连接到数据库
我们把这种可以实现这三个接口的jar称为数据库的驱动包
Connection接口是jdk中定义好的一个数据库连接的接口, 在javaAPI当中没有定义任何实现该接口的实现类, 这些实现类将会由数据库厂商提供, 同样Statement, ResultSet这两个接 口都是以这种形式来定义, 这样的编程模式成为面向接口编程
JDBC主要使用的一个类和三个接口:
DriverManager:
驱动程序管理类, 由这个类来获取Connection接口的实例
Connection: 获取数据库的连接, 设置自动提交方式, 获取Statement(包括其子类)对象
prepareStatement(sql)-->返回用于执行sql语句的一个对象
callableStatement-->返回执行存储过程的一个对象
setAutoCommit(true)-->设置数据库提交方式(自动 / 手动)
Statement: 执行sql语句, 返回结果集
返回boolean类型 prepareStatement.execute()-->用于执行存储过程和函数
返回ResultSet prepareStatement.executeQuery()-->用于查询的语句
返回int prepareStatement.executeUpdate()-->用于增, 删, 改的语句
批量处理:
prepareStatement.addBatch()-->每次处理一条sql语句
返回int[] prepareStatement.executeBatch()-->将一批命令提交给数据库去执行
以占位符的形式构建sql语句
String sql = "select * from tablename t where t.id=? and t.name in (?,?,?)";
prepareStatemenet.setInt(1, 24)
prepareStatemenet.setString(2, "Tom");
prepareStatemenet.setString(3, "Jack");
prepareStatemenet.setString(4, "Kitty");
prepareStatemenet.executeQuery();
调用设置占位符参数方法, 需要传两个参数:
第一个参数: 占位符索引值, 第几个 ? , 就写几, 从1开始数
第二个参数: 占位符的值, 设置什么类型的参数, 就用什么类型的方法
ResultSet:
由Statement执行查询sql之后返回的结果集
返回boolean类型 next()-->判断结果集是否有下一行数据
获取数据
resultSet.getString()--->方法可以传字符串, 表示表中字段的名字, 也可以传整数, 表示第几列
resultSet.getInt()
resultSet.getDate()
...
通过对各种方法的重写来获取结果集中的数据
java连接数据库的代码
定义四个属性: username, password, url, driver
private static final String USERNAME = "数据库登录名";
private static final String PASSWORD = "数据库登录密码";
private static final String URL = "jdbc:oracle:thin:@localhost:1521:xe";
private static final String DRIVERCLASSNAME = "oracle.jdbc.OracleDriver";
1, 类加载器去加载数据库的驱动程序
Class.forName(dirver);
2, 直接调用DriverManager的静态方法getConnection()获取连接
Connection conn = DriverManager.getConnection(url, username, password);
0822JDBC--Java连接数据库的更多相关文章
- Java连接数据库的辣几句话
Java连接数据库的辣几句话 1.java连接Oracle数据库 使用以下代码三个步骤: 1.下载ojdbc.jar包并导入项目中.附下载地址:http://download.csdn.net/det ...
- servlet中Java连接数据库后的基本操作
servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...
- java连接数据库
package com.shsxt.jdbcs; import java.sql.Connection; import java.sql.DriverManager; import java.sql. ...
- Java连接数据库的4中方式详解
Java连接数据库的方式有多种:根据所需要的不同数据库驱动分,分为四种: 1:1类驱动.这就是JDBC-ODBC桥的方式. 但这种方式不适合程序的重用与维护,不推荐使用.需要数据库的ODBC驱动. 2 ...
- Java连接数据库 #06# SQL与代码分离(精化版本)
索引 DAO层依赖关系草图 应用示例 接Java连接数据库#05#,对代码进行改进. DAO层依赖关系草图 应用示例(只需3步!) 1.首先定义接口类: package org.sample.shop ...
- Java连接数据库 #05# SQL与代码分离
索引 读取html中的SQL语句 缺陷总结 在Java连接数据库 #04#里大概是这样放sql语句的: package org.sample.shop.db.queryrunner; import o ...
- java连接数据库(jdbc)调用配置文件
各种语言都有自己所支持的配置文件,后缀名“.properties”结尾的就是其中之一. 在java连接数据库时,采取读取配置文件的方式,来获取数据库连接. 新建jdbc.properties文件,内容 ...
- Java连接数据库 #04# Apache Commons DbUtils
索引 通过一个简单的调用看整体结构 Examples 修改JAVA连接数据库#03#中的代码 DbUtils并非是什么ORM框架,只是对原始的JDBC进行了一些封装,以便我们少写一些重复代码.就“用” ...
- JAVA连接数据库 #03# HikariCP
索引 为什么用数据库连接池? HikariCP快速入门 依赖 简单的草稿程序 设置连接池参数(只列举常用的) MySQL配置 修改Java连接数据库#02#中的代码 测试 为什么用数据库连接池? 为什 ...
- Java连接数据库 #02# JDBC经典套路
内容索引 LocalConnectionFactory.java LocalConnectionProxy.java ProfileDAO.java-2.0 ProfileDAOImpl.java-2 ...
随机推荐
- Tomcat免安装版+Eclipse配置
Tomcat是目前比较流行的开源且免费的Web应用服务器,在我的电脑上第一次安装Tomcat,再经过网上教程和自己的摸索后,将这个过程 重新记录下来,以便以后如果忘记了可以随时查看. 注意:首先要明确 ...
- SpringMVC中 Session的使用情况
在SpringMVC中,使用Session可以用通过两种方式 1.servlet-api 即HttpSession session.setAttritute(),session.getAttribut ...
- Codeforces Round #380 (Div. 2)/729B Spotlights 水题
Theater stage is a rectangular field of size n × m. The director gave you the stage's plan which act ...
- 20155335俞昆《java程序设计》第10周总结
学号 2016-2017-2 <Java程序设计>第十周学习总结 ## 事实上网络编程,我们可以简单的理解为两台计算机相互通讯数据而已,对于程序员而言,掌握一种编程接口并使用一种编程模型相 ...
- Vue 使用中的小技巧(山东数漫江湖)
在vue的使用过程中会遇到各种场景,当普通使用时觉得没什么,但是或许优化一下可以更高效更优美的进行开发.下面有一些我在日常开发的时候用到的小技巧,在下将不定期更新~ 1. 多图表resize事件去中心 ...
- HTML -- get与post提交方式的区别 -- (转)
在写代码过程中,get与post是两种不同的提交方式.下面,列举出两种方式的不同. 方法/步骤 get是从服务器上获取数据,post是向服务器传送数据. get是把参数数据队列加到提交表单的A ...
- CTSC/APIO2018 帝都一周游
day0 报道 上午早早就起来了,两点才到酒店,然后去简单试了试机子. 不得不说今年八十中的伙食变得瓜皮了啊,去年还是大叠的5元卷,今年变成了单张的*餐卷.不知道食堂吝啬什么,面条米饭都只有一点点,还 ...
- Linux 内核通知链随笔【中】【转】
转自:http://blog.chinaunix.net/uid-23069658-id-4364171.html 关于内核通知链不像Netlink那样,既可以用于内核与用户空间的通信,还能用于内核不 ...
- centos_7.1.1503_src_6
http://vault.centos.org/7.1.1503/os/Source/SPackages/ perl-Test-MockObject-1.20120301-3.el7.src.rpm ...
- HDU 6118 度度熊的交易计划 最大费用可行流
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6118 题意:中文题 分析: 最小费用最大流,首先建立源点 s ,与超级汇点 t .因为生产一个商品需要 ...