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连接的更多相关文章

  1. JDBC连接SQL Server代码模板

    *                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* Re ...

  2. JDBC连接MySQL数据库代码模板

    下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...

  3. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  4. Field 'id' doesn't have a default value(jdbc连接错误)

    JDBC 连接错误: 编写数据库连接增添数据时,出现以下错误: error : java.sql.SQLException: Field 'id' doesn't have a default val ...

  5. JDBC连接MySQL 方法 实例及资料收集

    JDBC连接MySQL 方法 实例及资料收集 准备工作 首先,安装MySQL,配置用户名和密码,创建数据库. 可参见之前的文章: http://www.cnblogs.com/mengdd/p/315 ...

  6. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  7. Java使用JDBC连接MySQL数据库

    1.引用 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写 ...

  8. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  9. JDBC连接各种数据库的字符串,就是不好记

    JDBC连接各种数据库的字符串大同小异,在此总结一下,备忘. oracle    driverClass:oracle.jdbc.driver.OracleDriver    url:jdbc:ora ...

  10. Crystal Reports 2008(水晶报表) JDBC连接mysql数据库

    在本blog中,主要介绍的是Crystal Reports 2008使用JDBC连接mysql数据库. 在连接之间,首先要确认你电脑上面都安装了mysql数据库. 其次,就是jdbc连接数据时候所使用 ...

随机推荐

  1. 使用springboot actuator监控应用

    微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? ...

  2. 步步为营-104-SQL语句(截取字符串)

    按照指定字符截取字符串,截取出300 业务需求:想比对图片中框线部分是否一致 第一步 从最后一个/截取到末尾 select top 1 reverse(substring(reverse(Proces ...

  3. Apache Kafka 概述

    kafka教程,完全参照w3school: https://www.w3cschool.cn/apache_kafka/apache_kafka-dac11yot.html 以下是入门学习过程中摘录的 ...

  4. 根据现有的XML文件生成其对应的实体类

    方法如下: 1.将完整的Xml文本复制一下, 2.在vs2013(或以上版本) .net4.5项目下建立一个类文件, 3.依次选择菜单:编辑->选择性粘贴->将XML粘贴为类.

  5. 用Photoshop扭曲滤镜工具打造旋转的光束效果

    原文:https://www.w3cschool.cn/photoshopgjjc/dthfn1.html 教程与已往的不同,作者加上了一些新的步骤如锐化等,出来的效果也有所改进.大致过程:先用滤镜制 ...

  6. ElasticSearch简要总览

    今天看了一下ElasticSearch的相关文档,我做了如下总结: 发现越来越喜欢画图归纳总结知识了,看图说话 集群特性说明 健康状况的说明 如何配置分片? 接下来一张图总结下操作相关的总结 接下来, ...

  7. 一起学Hadoop——TotalOrderPartitioner类实现全局排序

    Hadoop排序,从大的范围来说有两种排序,一种是按照key排序,一种是按照value排序.如果按照value排序,只需在map函数中将key和value对调,然后在reduce函数中在对调回去.从小 ...

  8. Python_list部分功能介绍

    x.append():在列表尾部添加一个元素 x.clear():把列表清空 x.count():判断某个元素出现的次数 x.extend():合并两个列表,或者一个元组 x.index():获取元素 ...

  9. JMeter执行压测输出HTML图形化报表(一)

    一.应用场景 1.无需交互界面或受环境限制(linux text model) 2.远程或分布式执行 3.持续集成,通过shell脚本或批处理命令均可执行,生成的测试结果可被报表生成模块直接使用,便于 ...

  10. 网页安全政策"(Content Security Policy,缩写 CSP)

    作者:阿里聚安全链接:https://www.zhihu.com/question/21979782/answer/122682029来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...