JDBC编程的步骤

一、进行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+"条记录受影响");

	}

}
时间: 2024-10-06 23:31:21

JDBC编程的步骤的相关文章

JDBC编程实现文件、图片的存储方法_java

本文实例讲述了JDBC编程实现文件.图片的存储方法.分享给大家供大家参考,具体如下: /* 实现的功能: 用数据库存储文本数据,并且读取出来放在当前项目里 分析: 难度不是很大,关键是掌握文件流,数据库的操作不是很多,但是文件流的读写比较多 日期:20131003 作者:烟大阳仔 */ public class Ckb_test { public static void main(String[] args) throws SQLException, IOException { // TODO

优化JDBC编程-多提提意见

优化JDBC编程这是我根据MS SQL SERVER 2000 JDBC DRIVER HELP,并参考其它资料整理而成.ms的这个帮助文件实在有失大家风范,示例代码很.....有兴趣者可以去下载http://download.microsoft.com/download/SQLSVR2000/jdbc/2000/NT45XP/EN-US/setup.exe.由于本人水平有限,文中不当之处请大家批评指正.1.尽量减少对数据库元数据方法的使用    同样是产生一个ResultSet对象,Datab

JDBC编程 之 增删改查

JDBC编程之数据增加,更改,查询,删除 1 package com.good.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.Statement; 7 8 public class Main { 9 //1数据库连接的方法就独立出来了 10 public static Connection getConnec

c语言网络编程-标准步骤(比较简单)_C 语言

c语言网络编程-标准步骤,真的很简单啊 server.c 复制代码 代码如下: #include <stdio.h>#include <stdlib.h>#include <string.h>#include <netdb.h>#include <netinet/in.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h> #d

JDBC编程学习笔记之数据库连接池的实现

在JDBC编程的时候,获取到一个数据库连接资源是很宝贵的,倘若数据库访问量超大,而数据库连接资源又没能得到及时的释放,就会导致系统的崩溃甚至宕机.造成的损失将会是巨大的.再看有了数据库连接池的JDBC,就会较好的解决资源的创建与连接问题,其主要还是针对于连接资源使用层面的改进.下面我就谈一谈我对数据库连接池的理解. 数据库连接池理论基础 对于创建一个数据库连接池,需要做好准备工作.原理就是先实现DataSource接口,覆盖里面的getConnection()方法,这个方法是我们最为关注的.既然

使用JDBC编程访问ODPS

ODPS 提供了自己的 Java SDK 作为编程接口.但是对于大多数来自传统关系数据库的用户来说,为了完成一些简单任务再学习一套 SDK,性价比颇低.odps-jdbc 可以较好的解决这个问题.通过 odps-jdbc 可以轻松完成类似执行 select 语句,并获得结果集这样的任务. 创建任意 Java 项目,从 maven 添加 odps-jdbc 作为依赖(位于 maven 主仓-http://search.maven.org/#artifactdetails%7Ccom.aliyun.

c语言网络编程-标准步骤(改进版)_C 语言

server.c 复制代码 代码如下: #include <stdio.h>#include <stdlib.h>#include <string.h>#include <netdb.h>#include <netinet/in.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h> #include <fcntl.h&g

JSP中使用JDBC连接MySQL数据库的详细步骤_JSP编程

1,首先在自己新建的项目文本框中输入Web Project的名称,然后单击下一步. 2,继续单击下一步 3,把Generate web.xml deployment descriptor复选框勾上. 4,单击Finish,完成Web project工程的创建. 5,打开MyEclipse Datebase Explore,如图所示 6,按图中所示填写各项内容,并通过Add JARS添加相应的数据库驱动程序. 7,通过Test Driver测试驱动是否连接成功,需要输入密码.成功后如下图所示 8,

JDBC 使用说明(流程、架构、编程)_java

JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据. 执行流程: •连接数据源,如:数据库. •为数据库传递查询和更新指令. •处理数据库响应并返回的结果. JDBC 架构分为双层架构和三层架构. 双层 作用:此架构中,Java Applet 或应用直接访问数据源. 条件:要求 Driver 能与访问的数据库交互. 机制:用户命令传给数据库或其他数据源,随之结果被返回. 部署:数据源可以在另一台机器上,用户通过网络连接,称为 C/S配置(可以是内联网或互联网). 三