jdbc操作数据库

Jdbc程序中的DriverManager用于加载驱动,并创建与数据库的链接,

这个API的常用方法:

    DriverManager.registerDriver(new Driver());

    DriverManager.getConnection(url,user,password);

注意:在实际开发中并不推荐采用registerDriver方法注册驱动,原因有二:

1.查看Driver的源代码可以看到,如果采用此种方式,会导致驱动程序注册两次,也就是在内存中会有两个Driver对象。

2.程序依赖Mysql的api,脱离mysql的jar包,程序将无法编译,将来程序切换底层数据库将会非常麻烦。

    推荐方式:Class.forName("com.mysql.jdbc.Driver");

    采用此种方式不会导致驱动对象在内存中重复出现,并且采用此种方式,程序仅仅需要一个字符串峭需要依赖具体的驱动,使程序的灵活性更高。

 

URL用于标识数据库的位置,程序员通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:    jdbc:mysql://  localhost:3306/test ?key=value

 

 

常用数据库URL地址的写法: Oracle写法:

mysql url: jdbc:mysql://localhost:3306/数据库名

oracle url: jdbc:oracle:thin:@localhost:1521:sid

 

jdbc:oracle:thin:@localhost:1521:sid

MySql—jdbc:mysql://localhost:3306/sid

Mysql的url地址的简写形式: jdbc:mysql:///sid

常用属性:useUnicode=true&characterEncoding=UTF-8

 

 

     // 注册驱动

        第一种:DriverManager.registerDriver(new Driver());

        第二种 :Class.forName("com.mysql.jdbc.Driver");

使用第一种时,在com.mysql.jdbc.Driver类中有一段静态代码块:

 

sttic {

try {

java.sql.DriverManager.registerDriver(new Driver());

}

catch(SQLException ex){

throw new RuntimeException("Can‘t register driver");

}

}

 

上述代码的问题:

    1,在驱动管理器中会装入两个mysql驱动。解决方案:使用反射

        Class.forName("com.mysql.jdbc.Driver");

分析:使用反射的方式来加载驱动有什么好处?

a.只加载一次,装入一个驱动对象,

b.降低耦合,不依赖于驱动。

 

 

importjava.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

import org.gjt.mm.mysql.Driver;

// 注册驱动

DriverManager.registerDriver(new Driver());

// 连接测试

Connection conn = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/mydb1", "root", "root");

// 通过连接对象 创建操作sql语句对象 Statement

Statement st = conn.createStatement();

// 操作的sql语句

String t_sql = "select * from employee";

// 执行sql 返回 查询结果集 ResultSet;

java.sql.ResultSet rs = st.executeQuery(t_sql);

// 遍历结果集

while (rs.next()) {

int id = rs.getInt("id");

String name = rs.getString("name");

String gender = rs.getString("gender");

System.out.println("流水编号:" + id + ", 姓名:" + name + " ,职位:" + gender

+ ";");

}

// 释放资源

rs.close();

st.close();

conn.close();

时间: 2024-10-05 04:58:52

jdbc操作数据库的相关文章

JDBC操作数据库的学习(2)

在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本篇就在简单开发中如何对上一篇的例子进行“升级”,满足简单开发中对数据库的增删改查(CRUD). 如果按照上一篇中的例子,那么我们在做增删改查的话将会出现每个方法都要获取连接,释放资源,代码会出现很大的重复性,因此我们应该将每个增删改查每个方法中可以复用的代码抽取出来,同时为了能切换数据库方便,也该将一些配置信

jdbc操作数据库语句

非常有用的jdbc操作数据库语句,记录下来,以方便以后的查询. public class PersonDao { // 增加操作 public void insert(Person person) throws Exception; // 修改操作 public void update(Person person) throws Exception; // 删除操作 public void delete(String id) throws Exception ; // 按ID查询操作 publi

JDBC操作数据库的学习(1)

单单对数据库的操作,比如说MySQL,我们可以在命令行窗口中执行,但是一般是应用程序要操作数据库,因此我们应该在程序中的代码上体现对数据库的操作,那么使用程序应用如何操作数据库呢?那就要使用到数据库的连接驱动,应用程序通过这些驱动来操作数据库: 但是这里就又有一个问题了,不同的数据库有各自的驱动程序,而一个应用程序要操作不同的数据库,那么就要懂得要使用的数据库的驱动如何操作,这样就增加了学习成本.好在我们使用Java开发应用,而Java中只需要使用JDBC就能操作所有的数据库,因为JDBC提供的

几种通过JDBC操作数据库的方法,以及返回数据的处理

1.SQL TO String :只返回一个查询结果 例如查询某条记录的总数 rs = stmt.executeQuery(replacedCommand);             if (rs != null && rs.next()) // rs only contains one row and one column             {                    String tempStr = rs.getString(1);                 

JDBC操作数据库的基本步骤

JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操作结果集. 7)关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接). package com.yangshengjie.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java

Spark Streaming通过JDBC操作数据库

本文记录了学习使用Spark Streaming通过JDBC操作数据库的过程,源数据从Kafka中读取. Kafka从0.10版本提供了一种新的消费者API,和0.8不同,因此Spark Streaming也提供了两种API与之对应,其中spark-streaming-kafka-0-8支持Kafka 0.8.2.1以后的Broker:spark-streaming-kafka-0-10支持0.10.0以上Broker,处于实验阶段.两者的对比如下表所示. |spark-streaming-ka

JDBC操作数据库的基本操作

JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操作结果集. 7)关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接). 1 package com.yangshengjie.jdbc; 2 import java.sql.Connection; 3 import java.sql.DriverManager; 4 imp

JDBC操作数据库的三种方式比较

JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL.oracle.DB2等关系型数据库均是通过JDBC来访问的,现在主流的ORM框架Hibernate.Mybatis等均是在JDBC的基础上做的进一步封装.优化.一般小型的项目,可以直接用JDBC来访问数据库,简单方便.我在进过几个项目后,总结了三总JDBC的基本用法,对这几种用法做一个总结. 第一种

JDBC操作数据库的详细步骤

JDBC操作数据库的步骤: 1.注册驱动 告知JVM使用的是哪一个数据库的驱动 2.获得连接 使用JDBC中的类,完成对MySQL数据库的连接 3.获得语句执行平台 通过连接对象获取对SQL语句的执行者对象 4.执行sql语句 使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果 5.处理结果 6.释放资源  一堆close() 1.注册驱动,发射技术,将驱动加入到内容 使用java.sql.DriverManager类静态方法 registerDriver(Driver driv

封装JDBC操作数据库的方法

自己动手封装java操作数据库的方法: 一:目录结构 二:所需依赖的第三方jar包 这里只需引入mysql-connector-java-5.1.8-bin.jar,mysql数据库驱动jar包 三:代码 1:和数据库进行交互,首先是数据源,获取连接,代码如下: 1 /** 2 * 3 */ 4 package com.hlcui.datasource; 5 6 import java.sql.Connection; 7 import java.sql.DriverManager; 8 impo