JDBC连接
jdbc是java中的数据库连接技术,功能非常强大。
数据库访问过程
1.加载数据库驱动
要通过jdbc去访问某数据库必须有相应的JDBC driver 它往往由数据库厂商提供,是链接jdbc API 和具体数据库之间的桥梁。不同的厂商提供的数据库连接驱动不一样,我们需要下载特定的驱动并安装。
java中调用驱动的代码一般为:
Class.forName("String driver"); //不同的数据库驱动,driver值也不同
例如:加载mysql驱动:
Class.forName("com.mysql.jdbc.Driver");
常见的数据库驱动字符串
| 数据库 | 驱动字符串 | 
| DBMS | Driver Class | 
| Access | Sun.jdbc.odbc.JdbcOdbcDriver | 
| Mysql | com.mysql.jdbc.Driver | 
| Oracle | oracle.jdbc.driver.OracleDriver | 
| SQL Server 2000 | com.microsoft.jdbc.sqlserver.SQLServerDriver | 
| SQL Server 2005 | com.microsoft.sqlserver.jdbc.SQLServerDriver | 
2连接数据库
数据库加载完成后,就可以连接数据库,创建数据库连接语句如下:
Connection conn = DriverManager.getConnection(url,username,password);
DriverManage类是jdbc的管理层,作用于用户和驱动程序之间。通常调用DriverManage.getConnection方法进行数据库连接
url表示连接数据库的字符串;
username表示数据库的用户名;
password表示用户的密码;
常见的数据库连接字符串如下
| 数据库 | 连接字符串 | 
| Access | "jdbc:odbc:ODBC 数据库名称" | 
| Mysql | "jdbc:mysql://主机域名或ip地址:3306/数据库名" | 
| Oracle | “jdbc:oracle:thin:@主机域名或ip:1521:数据库名” | 
| sql server2000 | “jdbc:microsoft:sqlserver://主机域名或ip:1433;databaseName=数据库名” | 
| sql server2005 | “jdbc:sqlserver://主机域名或ip:1434;databaseName=数据库名” | 
Connection
Connection类代表程序与数据库的链接,并拥有创建数据库操作对象的方法,已完成基本的数据库操作。
同时为数据库事物处理提供提交和回滚的方法。
3.创建数据库访问对象,执行sql语句
访问数据库的对象主要有三种:Statement PreparedStaatement CallableStatement
Statement
使用Connection 对象的createStatement()方法来创建该对象。主要用于执行不带参数的sql语句,提交的sql语句可以是select,insert,update,delete语句 例如:
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select * from A");
如果调用的是 insert,update,delete方法,不需要返回查询结果的应该采用 executeUpdate()方法,返回操作影响的行数,类型为int
PreparedStatement
如果要向数据库服务器传递带参数的sql 则需要用PreparedStatement对象了。例如:
String sql = "insert into user(name,passwd) values(?,?)";
PreparedStatement psm = conn.PrepareStatment(sql);
psm.setString(1,"wang");
psm.setString(2,"123");
psm.execute();
4.处理结果集
结果集ResultSet对象是jdbc中比较重要的一个对象,查询操作将数据作为ResultSet对象返回,ResultSet包含任意数量的命名列,可以按名称访问这些列,也可以按列号访问。下面是常见的访问并显示结果集的代码:
ResultSet rs = st.executeQuery("select name,password from user");
while(rs.next()){
rs.getString(1);
rs.getString(2);
}
5.一个完整的基本sql查询方法
improt java.sql.*;
public class Dao{
private static String url ="数据库连接字符串";
private static String username="用户名";
private static String passwd="密码";
private Connection conn = null;
private Statement st = null;
private ResultSet rs = null;
public Dao(){
try{
Class.forName("数据库驱动");
}catch(Exception e){
System.out.println("连接出错");
}
}
public void Query(){
try{
conn = DriverManage.getConnection(url,username,passwd);
st = conn.createStatement();
rs = st.executeQuery("select * from user");
while(rs.next()){
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
}catch(Exception e){
}finally{
rs.close();
st.close();
conn.close();
}
}
}
基本的jdbc查询就完成了。
JDBC连接的更多相关文章
- JDBC连接SQL Server代码模板
		
* JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement : 执行SQL语句:* Re ...
 - JDBC连接MySQL数据库代码模板
		
下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...
 - Java操作Sqlite数据库-jdbc连接
		
Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...
 - Field 'id' doesn't have a default value(jdbc连接错误)
		
JDBC 连接错误: 编写数据库连接增添数据时,出现以下错误: error : java.sql.SQLException: Field 'id' doesn't have a default val ...
 - JDBC连接MySQL 方法 实例及资料收集
		
JDBC连接MySQL 方法 实例及资料收集 准备工作 首先,安装MySQL,配置用户名和密码,创建数据库. 可参见之前的文章: http://www.cnblogs.com/mengdd/p/315 ...
 - java jdbc 连接mysql数据库 实现增删改查
		
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
 - Java使用JDBC连接MySQL数据库
		
1.引用 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写 ...
 - jdbc连接oracle数据库
		
/*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...
 - JDBC连接各种数据库的字符串,就是不好记
		
JDBC连接各种数据库的字符串大同小异,在此总结一下,备忘. oracle driverClass:oracle.jdbc.driver.OracleDriver url:jdbc:ora ...
 - Crystal Reports 2008(水晶报表) JDBC连接mysql数据库
		
在本blog中,主要介绍的是Crystal Reports 2008使用JDBC连接mysql数据库. 在连接之间,首先要确认你电脑上面都安装了mysql数据库. 其次,就是jdbc连接数据时候所使用 ...
 
随机推荐
- HDU 1166 敌兵布阵(线段树/树状数组模板题)
			
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
 - mysql 简称
			
一:DTS(Data Transformation Service) 数据转换服务 大多数组织都使用多种格式和多个位置来存储数据. 为了支持决策.改善系统性能或对现有系统进行升级,经常必须将数据从一个 ...
 - Echo()、print()、print_r()区别
			
echo可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用.echo是php的内部指令,不是函数, ...
 - 【第一部分】07Leetcode刷题
			
二.寻找旋转排序数组中的最小值 题目:153. Find Minimum in Rotated Sorted Array C++ Soution 1: class Solution { public: ...
 - Leetcode刷题第004天
			
class Solution { public: int findKthLargest(vector<int>& nums, int k) { , nums.size()-, k) ...
 - 小程序wx.getUserInfo获取用户信息方案介绍
			
问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本 API和组件 - - - - 背景 小程序一个比较重要的能力就是获取用户信息,也就是使用 wx.g ...
 - Haproxy重刷一次
			
centos上,yum安装,完全无难度. 只是设置时,要注意一下跳转,和nginx规则差不多. https://blog.csdn.net/qq_28710983/article/details/82 ...
 - WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn) java.net.ConnectException: Connection refused
			
1.启动kafka的脚本程序报如下所示的错误: [hadoop@slaver1 script_hadoop]$ kafka-start.sh start kafkaServer... [-- ::,] ...
 - 关于yum网络版仓库(本地yum仓库的安装配置,如果没网了,做一个局域网内的yum仓库)
			
2017-11-13 22:49:48 1:两种方式: a.每一台机器都配一个本地文件系统上的yum仓库 file:///packege/path/ b.在局域网内部配置一台节点(server-b ...
 - Sqlserver2014  Master....提示异常,IIS未安装
			
Q:使用Windos认证,登录失败,问题待解决补充 Q:打开Sqlserver2014 Master....提示异常,IIS未安装 解决方案: 安装iis配置,并全部勾选asp.net特性等 Tip ...