一、进行JDBC编程的步骤大致如下:

1.      加载数据库驱动,通常使用Class类的forName()静态方法来加载驱动。如下代码:

Class.forName(dirvirClass)

上面代码中的driverClass就是数据库驱动类所对应的字符串

加载MySQL数据库时采用的代码为:

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

2.      通过DriverManager获取数据库连接。

DriverManager.getConnection(String url,String user,Stringpass)

使用DriverManager获取数据库连接时,需要传入3个参数:数据库URL、登陆数据库的用户名和密码。

数据库URL通常遵循如下写法:

jdbc:subprotocol:other stuff.

连接MySQL数据库时的URL写法为:

jdbc:mysql://localhost/BDYun

3.      通过Connection对象创建Statement对象。Connection创建Statement的方法有如下3个:

(1)      createStatement():创建基本的Statement对象

(2)      prepareStatement(String sql):根据传入的SQL语句创建预编译的Statement对象

(3)      prepareCall(String sql):根据传入的SQL语句创建CallableStatement对象

4.      使用Statement执行SQL语句。所有的Statement都有如下3个方法来执行SQL语句:

(1)      execute():可以执行任何SQLyu7ju,但比较麻烦

(2)      executeUpdate():主要用于执行DML和DDL语句。执行DML语句返回受SQL语句影响的行数,执行DDL语句返回0.

(3)      executeQuery():只能执行查询语句,执行后返回代表查询结果的ResultSet对象

5.      操作结果集。如果执行的SQL语句是查询语句,则执行结果将返回一个ResultSet对象,该对象里保存了SQL语句查询的结果。程序可以通过操作该ResultSet对象来取出查询结果。ResultSet对象主要提供了如下两类方法。

(1)next()、previous()、first()、last()、beforeFirst()、afterLast()、absolute()等移动记录指针的方法。

(2)getXxx()方法获取记录指针指向行、特定列的值。该方法既可以使用列索引作为参数,也可以使用列名称作为参数。使用列索引作为参数性能更好,使用列名称作为参数可读性更好。

6.      回收数据库资源,包括关闭ResultSet、Statement和Connection等资源。

二、代码演示

利用MySQL创建一个数据库BDYun,并在数据库中新建一个表POI,往表中插入两条数据

create database BDYun;

use database BDYun;

create table POI(id int(11) auto_incrementprimary key,latitude varchar(255),longitude varchar(255),picurlvarchar(255),serviceurl varchar(255) );

insert into poi values(null,36.0333,118.7833,null,null);

insert into poivalues(null,37.3333,116.3333,null,null);

在eclipse中创建一个新项目,并导入jar包:mysql-connector-java-5.1.30.bin.jar

(1)创建查询类,代码如下:

package com.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ConnMySQLTest
{

public static void main(String[] args) throws Exception
{
// TODO Auto-generated method stub
try
{
Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/BDYun","root","340621");
Statement stmt = conn.createStatement();

String sql = "select * from poi";
ResultSet rs = stmt.executeQuery(sql);

while(rs.next())
{
System.out.println("id:"+rs.getInt(1)+"纬度:"+rs.getString(2)+"经度:"+rs.getString(3));
}
} catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

程序运行结果如下:

(2)利用executeUpdate方法执行DDL和DML语句

代码如下:

package com.jdbc;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Properties;

public class ExecuteUpdateTest
{
public void createTable(String sql) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/BDYun","root","340621");
Statement stmt = conn.createStatement();
{
stmt.executeUpdate(sql);
}

}
public static void main(String[] args) throws Exception
{
// TODO Auto-generated method stub
ExecuteUpdateTest eut = new ExecuteUpdateTest();
String sql = "create table camera (id int auto_increment primary key,latitude varchar(20),longitude varchar(20),picurl varchar(20),serviceurl varchar(20))";
eut.createTable(sql);

System.out.println("建表成功");
}

}

程序执行成功后,登陆mysql数据库,可以看到数据库中出现了刚才创建的表格

(3)利用executeUpdate方法执行插入语句

package com.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class ExecuteUpdateInsertTest
{
public int insertData(String sql) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost/BDYun", "root", "340621");
Statement stmt = conn.createStatement();
{
return stmt.executeUpdate(sql);
}

}

public static void main(String[] args) throws Exception
{

ExecuteUpdateInsertTest ed = new ExecuteUpdateInsertTest();
String sql = "insert into poi values(null,120.5333,34.6555,null,null)";
int result = ed.insertData(sql);
System.out.println("数据库表中共有"+result+"条记录受影响");

}

}

JDBC编程的步骤的更多相关文章

  1. java JDBC编程流程步骤

    JDBC:Java Data Base Connection JDBC是用于运行sql语句并从数据库中获取新新的java API. JDBC是用来(让我们的程序)通过网络来操作数据库的,作用非常重要: ...

  2. JavaEE之JDBC编程[详解]

    1.数据库简介 数据库(DB,Data Base ) 数据库管理系统(DBMS,Data Base Management System) 关系型数据库(RDB) 关系型数据库管理系统(RDBMS) S ...

  3. JAVA基础知识之JDBC——编程步骤及执行SQL

    JDBC编程步骤 下面以mysql数据库为例, 1.加载驱动 首先需要下载数据库的驱动jar文件,并且在eclipse包中加入到class path中去, 例如mysql的驱动文件 mysql-con ...

  4. JDBC编程步骤

    JDBC编程步骤 加载数据库驱动. 通常使用Class类的forName()静态方法来加载驱动. Class.forName(driverClass) dirverClass: mysql---Cla ...

  5. JDBC 学习笔记(三)—— JDBC 常用接口和类,JDBC 编程步骤

    1. JDBC 常用接口和类 DriverManager 负责管理 JDBC 驱动的服务类,程序中主要的功能是获取连接数据库的 Connection 对象. Connection 代表一个数据库连接对 ...

  6. 简单的JDBC编程步骤

    1.加载数据库驱动(com.mysql.jdbc.Driver) 2.创建并获取数据库链接(Connection) 3.创建jdbc statement对象(PreparedStatement) 4. ...

  7. 浅谈JDBC编程

    一.概述 1.为什么要用JDBC 数据库是程序不可或缺的一部分,每一个网站和服务器的建设都需要数据库.对于大多数应用程序员(此处不包含数据库开发人员)来说,我们更多的不是在DBMS中对数据库进行操纵, ...

  8. JDBC编程的方式

    JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: 从上面可以看出JDBC编程一般要如下步骤: 1. 加载数据库驱动 2. 创建并获取数据库连接 3. 创建jdbc stateme ...

  9. 用JDBC编程的执行时错误及其解决大全

    用JDBC编程的执行时错误及其解决 用JDBC编程的执行时错误及其解决 源码: .java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlser ...

随机推荐

  1. uvalive 11865 Stream My Contest

    题意: 有一个网络中心,和许多个城市,网络中心以及城市之间有若干条边,这些边有两个属性,最大带宽和修建费用. 现在要用最多不超过C的费用修建网络,使得每个城市都有网络连接,最大化最小带宽. 带宽限制是 ...

  2. Spark学习之路 (二十三)SparkStreaming的官方文档

    一.SparkCore.SparkSQL和SparkStreaming的类似之处 二.SparkStreaming的运行流程 2.1 图解说明 2.2 文字解说 1.我们在集群中的其中一台机器上提交我 ...

  3. 大数据处理框架之Strom:redis storm 整合

    storm 引入redis ,主要是使用redis缓存库暂存storm的计算结果,然后redis供其他应用调用取出数据. 新建maven工程 pom.xml <project xmlns=&qu ...

  4. CBV源码解析

    1.CBV(class based view) 首先定义一个视图函数,用类的方式定义: 举例: class LoginView(View): def get(self,request): return ...

  5. flask 的session

    python的flask操作设置.获得与删除session 首先讲一下Python的flask中session与cookies的关系,session是储存在服务器中的,cookies是储存在浏览器本地 ...

  6. [转载]基于 Token 的身份验证

    作者:王皓发布于:2015-08-07 22:06更新于:2015-08-07 22:07 最近了解下基于 Token 的身份验证,跟大伙分享下.很多大型网站也都在用,比如 Facebook,Twit ...

  7. Integer诡异特性

    package 代码测试; public class ceshi { public static void main(String[] args) { Integer i1=100; Integer ...

  8. 清明 DAY 1

    数学基础   Part 1.  高精度计算     Part 2.  模意义下的运算                     mod  对一个数取模,其实就是取余数   注意: •   无除法运算 • ...

  9. Java中五种遍历HashMap的方式

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Java8Templat ...

  10. 注册登录二合一之bootstrap

    来源 https://bootsnipp.com/snippets/featured/login-and-register-tabbed-form jquery插件 需导入bootstrap插件 这个 ...