java连接数据库

java连接数据库
java连接数据库

第7章java连接数据库及数据库的查询

jdbc与数据库概述

访问数据库

一个查询数据库的WEB示例

7.1 jdbc与数据库概述

数据库是一个有组织的数据集合,它由一个或多个表组成。每一个表中都存储了对一类对象的数据描述。数据库管理系统(database management system,DBMS)以一种与数据库格式一致的方式,提供了存储和组织数据的机制。

7.11数据库编程

1)当前主流数据库

当前最流行的数据库是关系型数据库,它是将数据表示为表的集合,通过建立简单表之间的关系来定义结构的一种数据库。数据库中的表按照行和列的形式来存储信息。行表示关系型数据库中的记录,列表示数据属性。比较著名的关系数据库管理系统有Oracle、Sybase、DB2、MySQL、Microsoft SQL Server、Microsoft Access等。

2)sql语言

SQL是一个国际化标准语言,几乎所有关系型数据库都用SQL语言执行数据查询和操纵。理解SQL语句时要注意几点:

(1) SQL语言中的语句都是独立执行的,无上下文联系;

(2) 每条语句都有自己的主关键字,语句中可包含若干子句;

(3) SQL语句本身不区分大小写。为突出语句格式,下面例子中保留字采用大写。

1. 建表语句

格式:CREATE TABLE table_name (column1 type [not] null,…)

功能:在当前数据库中创建一张名为的table_name表格结构。

2. 删除表

格式:DROP table_name

功能:在当前数据库中删除名为table_name的表。

3. 查询语句

格式:SELECT col1,col2,...,coln FROM table_name [WHERE

condition_expression]

功能:从数据库表中检索满足条件的记录。WHERE子句是可选项,它可以包含

<、>、<=、>=、=、<>和LIKE运算符。LIKE运算符用于带有通配符百分

号(%)和下划线(_)的模式匹配。

4. 插入语句

格式:INSERT INTO table_name [(col1,col2,...,coln)] V ALUES(v1,v2,...,

vn)

功能:在表table_name中插入一条记录,各列的值依次分别为v1、v2、 (v)

等,若某列的列名未给,则值为NULL。

注意:(1)如果所有的列名都未给,则在Values中必须依次给出所有列的值。(2)

给出的值的类型必须与对应的列的类型相一致。

5. 更新语句

格式:UPDA TE table_name SET col1=v1 [,col2=v2,...,coln=vn][WHERE

condition_expression]

功能:更新表table_name中满足条件的记录,使列col1的值为v1、列col2的值

为v2、…、列coln的值为vn等。

注意:如不给出条件,则更新表中所有记录。

例如,假如银行账户系统中有一张account(账户)表中,账号为“1280316401“的

账户取款200元后应更新余额,使用语句如下:

UPDA TE account SET accountAmount=accountAmount-200

WHERE accountNumber =’1280316401’

6. 删除语句

格式:DELETE FROM table_name [WHERE condition_expression]

功能:删除表table_name中满足条件的记录。特别注意:如果不给出条件,则

删除表中所有记录。

例如,对account表中,账号为“1280316401“的账户进行销户处理,语句如下:DELETE FORM account WHERE accountNumber=’1280316401’

7.12 JDBC框架结构

1)ODBC数据源

ODBC是OpenDatabaseConnectivity的英文简写。它是由Microsoft提出的为连接不同数据库而制定的一种接口标准,是用C语言实现的,标准应用程序数据接口。通过ODBC API,应用程序可以存取保存在多种不同数据库管理系统(DBMS)中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口。几乎所有的数据库都支持这一标准。

?ODBC有其不足之处,比如它并不容易使用,没有面向对象的特性等等。

?ODBC的结构包括四个主要部分:应用程序接口、驱动器管理器、数据库驱动器和

数据源。

进行ODBC数据源设置,在Windows XP环境下,可按路径开始菜单-设置-控制面板-管理工具-数据源(ODBC),双击可打开如图11.3所示的对话框。

单击系统DSN->单击添加按钮,可以添加不同的odbc数据源。

2) 通过JDBC访问数据库

JDBC与ODBC的工作原理非常类似。JDBC与ODBC都是基于X/Open的SQL调用级接口,JDBC的设计在思想上沿袭了ODBC,同时在其主要抽象和SQL CLI实现上也沿袭了ODBC,这使得JDBC容易被接受。JDBC的总体结构类似于ODBC,也有四个组件:应用程序、驱动程序管理器、驱动程序和数据源。

JDBC保持了ODBC的基本特性,也独立于特定数据库。使用相同源代码的应用程序通过动态加载不同的JDBC驱动程序,可以访问不同的DBMS。连接不同的DBMS时,各个DBMS之间仅通过不同的URL进行标识。JDBC的DatabaseMetaData接口提供了一系列方法,可以检查DBMS对特定特性的支持,并相应确定有什么特性,从而能对特定数据库的特性予以支持。与ODBC一样,JDBC也支持在应用程序中同时建立多个数据库连接,采用JDBC可以很容易地用SQL语句同时访问多个异构的数据库,为异构的数据库之间的互操作奠定基础。

但是,JDBC除了具有ODBC的上述特点外,更具有对硬件平台、操作系统异构性的支持。这主要是因为ODBC使用的是C语言,而JDBC使用的是Java语言。Java语言具有与平台无关、移植性强、安全性高、稳定性好、分布式、面向对象等众多优点,而JDBC确保了“100%纯Java”的解决方案,利用Java的平台无关性,JDBC应用程序可以自然地实现跨平台特性,因而更适合于Internet上异构环境的数据库应用。

此外,JDBC驱动程序管理器是内置的,驱动程序本身也可通过Web浏览器自动下载,无须安装、配置;而ODBC驱动程序管理器和ODBC驱动程序必须在每台客户机上分别安装、配置。

1. JDBC数据库驱动程序

?JDBC数据库驱动程序的功能是:一面用底层协议与数据库服务器进行对话;一面

用JDBC API与用户程序进行对话。

?为实现“与平台无关”的特点,JDBC为我们提供了一个“驱动程序管理器”,它能动

态维护数据库查询所需的所有驱动程序对象。

用户可以从数据库供应商那里获得JDBC数据库驱动程序。

2.JDBC驱动程序类型

(1) JDBC-ODBC Bridge

将对JDBC的调用转化为ODBC的调用,要求本地机必须安装ODBC驱动程序,

然后注册一个ODBC数据源名。

(2) JDBC-Native API Bridge

直接将用户的调用转化为对数据库客户端API的调用,要求本地机必须安装好

特定的驱动程序,显然限制了应用程序对其它数据库的使用。

(3) JDBC-MiddleWare

它是独立于数据库服务器的,它和一个中间件服务器通讯,由中间件负责与数

据库通讯。

(4) Pure JDBC Driver

使用该类型的应用程序无需安装附加的软件,所有对数据库的操作都直接由

JDBC驱动程序完成。

如上图所示:我们一般通过(1) JDBC-ODBC Bridge和(4) Pure JDBC Driver

的方式访问数据库

7.13 JDBC典型应用模型

1)两层模型

2)三层模型

7.14 JDBC中的主要类和接口

简单地说,JDBC主要完成下列三项任务:

1 同一个数据库建立连接;

2 向数据库发送SQL语句;

3 处理数据库返回的结果。

这些任务由JDBC API来完成。JDBC API 被描述成为一组抽象的Java接口。这些接口都可能产生异常,如:ClassNotFoundException、SQLException异常,因而编写程序时必须对抛出的异常进行捕获。主要的JDBC API如下:

(1) 驱动程序管理器Drvier Manager

用来加载驱动程序,管理应用程序和已注册的驱动程序的连接。

(2) 连接Connection

封装了应用程序与数据库之间的连接信息。

(3) 驱动程序Driver

负责定位并访问数据库,建立数据库连接和处理所有与数据库的通讯。

(4) 语句Statement

用来在数据库中执行一条SQL语句。

(5) 结果集ResultSet

负责保存执行查询后返回的数据。

7.2 访问数据库

7.21 访问数据库的步骤

1)载入jdbc数据库驱动程序

2)建立与数据库的连接

3)在建立数据库连接的前提下执行sql语句

4)取结果集和结果信息

5)关闭数据库连接

7.22 连接数据库

1)JDBC URL:

jdbc:<子协议>:<数据库子名称>

例如连接到oracle 10g的orcl数据库实例的URL是

jdbc:oracle:thin:@10.0.0.13:1521:orcl

再例如连接到sqlserver 2008的master数据库的URL是

jdbc:sqlserver:// 10.0.0.13:1433;databaseName=master

2)建立连接

//加载驱动

Class.forName("oracle.jdbc.driver.OracleDriver");

//定义URL

String url="jdbc:oracle:thin:@10.0.0.13:1521:orcl";

//建立连接

Connection conn =

DriverManager.getConnection(url,"username","password");

7.23 执行sql语句

取得各列信息

getColumns

取得索引信息

getIndexInfo 7.24 Statement语句

7.25 取结果集中的数据

7.26 一个简单例子

该例把sqlserver2008的master数据库中的spt_monitor表中的数据查询出来,并打印到控制台上

import java.sql.*;

public class DataOperate {

/*

*函数功能:获取连接数据库的对象

*/

public Connection getConn() throws Exception{

Connection conn =null;

//加载驱动

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //定义URL

String url=

"jdbc:sqlserver://localhost:1433;databaseName=master";

//建立连接

conn = DriverManager.getConnection(url,"sa","123456");

return conn;

}

/*

*函数功能:获取执行sql语句的对象

*/

public Statement getStmt(Connection conn) throws SQLException{ Statement stmt =null;

stmt = conn.createStatement();

return stmt;

}

/*

*函数功能:执行sql语句,获取结果集

*/

public ResultSet execQuery(String sql,Statement stmt) throws SQLException{

ResultSet rs=null;

rs=stmt.executeQuery(sql);

return rs;

}

/*

*main方法,程序入口

*/

public static void main(String args[]){

//定义查询的sql语句

String sql="select * from spt_monitor";

//实例化当前类的对象

DataOperate dopt=new DataOperate();

Connection conn=null;

Statement stmt=null;

ResultSet rs=null;

try{

//调用函数获取连接类的对象

conn=dopt.getConn();

//调用函数获取执行sql语句的对象

stmt=dopt.getStmt(conn);

//调用函数取得结果集

rs=dopt.execQuery(sql, stmt);

//循环打印出数据库中每一行数据

while(rs.next()){

System.out.print(rs.getString("cpu_busy")+"

"+rs.getString("io_busy"));

}

}catch(Exception e){

e.printStackTrace();

}

try{

if(conn !=null){

//关闭连接对象

conn.close();

}

}catch(Exception e){

e.printStackTrace();

}

}

}

7.3一个查询数据库的WEB示例

本小节以一个实际例子引导大家开发一个简单的查询数据库的web示例。

开发工具:MyEclipse 6.5

数据库:SqlSever2008

Web服务器:Tomcat 6.0

JDBC数据库驱动包:sqljdbc4.jar

以上软件包请同学们自行下载安装。

第一步:打开sqlserver2008、建库、建表,插入数据。

建立student数据库,建立student表,字段如下图所示:

插入如下图所示数据:

以上步骤请同学自己完成。

也可以完全用sql代码的方式完成,参考代码如下:

--一.建库(注意:C:\data是需要手工建立的目录)

create database STUDENT on

(

name= STUDENT_data,

filename='C:\data\STUDENT_data.mdf',

maxsize=50MB,

size=3MB,

filegrowth=1MB

)

log on

(name= STUDENT_log,

filename='C:\data\STUDENT_log.ldf',

maxsize=50MB,

size=2MB,

filegrowth=1MB

)

;

USE STUDENT;

--二、建表

create table Student.dbo.Student

(sno char(4) primary key,

name varchar(20) not null,

sex varchar(2),

age smallint,

native varchar(20),

department varchar(50),

address varchar(200)

);

---三、插入数据

insert into dbo.Student values ('1101','王燕','女',20,'北京','工程系',null); insert into dbo.Student values ('1102','张军','男',21,'上海','工程系',null); insert into dbo.Student values ('1104','张栋','男',21,'南京','工程系',null); insert into dbo.Student values ('1201','吴华','女',20,'成都','计算机系',null); insert into dbo.Student values ('1202','李波','男',21,'上海','计算机系',null); insert into dbo.Student values ('1203','陈建','男',19,'长沙','计算机系',null); insert into dbo.Student values ('1204','王江洪','男',19,'邵阳','基建系',null); insert into dbo.Student values ('1205','潘将','男',19,'常德','艺术系',null); insert into dbo.Student values ('1303','张斌','男',22,'上海','经管系',null); insert into dbo.Student values ('1305','张斌','女',20,'武汉','经管系',null);

第二步:打开MyEclipse,建立一个web工程webquery,并载入驱动包sqljdbc4.jar。如下图所示:

新建web工程

添加驱动包

添加驱动包

步骤三建立源代码文件。

分别新建三个包和三个java类文件还有一个jsp文件,如图所示:

源代码及注解如下:

StudentBean.java

package beans;

/*

*javabean 文件,定义一些变量,跟数据库中相关表的字段一致,并设置get/set方法,*用来封装数据库表中的数据

*/

public class StudentBean {

private String sno;

private String name;

private String sex;

private String age;

private String nativeplace;

private String department;

private String address;

public String getSno() {

return sno;

}

public void setSno(String sno) {

this.sno = sno;

}

public String getName() {

return name;

}

public void setName(String name) {

https://www.360docs.net/doc/8d219572.html, = name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

public String getNativeplace() {

return nativeplace;

}

public void setNativeplace(String nativeplace) { this.nativeplace = nativeplace;

}

public String getDepartment() {

return department;

}

public void setDepartment(String department) { this.department = department;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

}

DataOperate.java

package dboperate;

import java.sql.*;

/*

*一些操作数据库方法的集合

*/

public class DataOperate {

/*

*函数功能:获取连接数据库的对象

*/

public Connection getConn() throws Exception{

Connection conn =null;

//加载驱动

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //定义URL

String url=

"jdbc:sqlserver://localhost:1433;databaseName=master";

//建立连接

conn = DriverManager.getConnection(url,"sa","123456");

return conn;

}

/*

*函数功能:获取执行sql语句的对象

*/

public Statement getStmt(Connection conn) throws SQLException{ Statement stmt =null;

stmt = conn.createStatement();

return stmt;

}

/*

*函数功能:执行sql语句,获取结果集

*/

public ResultSet execQuery(String sql,Statement stmt) throws SQLException{

ResultSet rs=null;

rs=stmt.executeQuery(sql);

return rs;

}

}

ExecQuery.java

package servlets;

import java.io.*;

import java.sql.*;

import java.util.*;

import dboperate.DataOperate;

import beans.StudentBean;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/*

*servlet,项目的核心所在,实现数据操作,实现具体业务逻辑

*/

public class ExecQuery extends HttpServlet {

private static final String CONTENT_TYPE="text/html;charset=GBK";

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request,response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//设置输入的编码机制

request.setCharacterEncoding("GBK");

//设置输出的编码机制

response.setContentType(CONTENT_TYPE);

Connection conn=null;

Statement stmt=null;

ResultSet rs=null;

//获取sql语句

String sqlstr=request.getParameter("sqlstring").trim();

System.out.println(sqlstr);

try{

//实例化数据库操作类的对象

DataOperate oper=new DataOperate();

//实例化一个集合工具类的对象,用来保存表中数据

ArrayList students=new ArrayList();

//获取数据库连接对象

conn=oper.getConn();

//获取执行sql语句的对象

stmt=oper.getStmt(conn);

//执行查询,得到结果集

rs=oper.execQuery(sqlstr, stmt);

while(rs.next()){

//每一条数据库的记录对应一个jobbean实例

StudentBean sb=new StudentBean();

sb.setAddress(rs.getString("address"));

sb.setAge(rs.getString("age"));

sb.setDepartment(rs.getString("department"));

sb.setName(rs.getString("name"));

sb.setNativeplace(rs.getString("nativeplace"));

sb.setSex(rs.getString("sex"));

sb.setSno(rs.getString("sno"));

//把表中查出来的数据封装到javabean中并保存到students容器对象中

students.add(sb);

}

//jsp页面会收到该对象

request.setAttribute("studentlists", students);

//跳转到jsp页面

request.getRequestDispatcher("/ShowStudents.jsp").forward(request, response);

}catch(Exception e){

System.out.println(e.toString());

}finally{

try{

//关闭数据库连接

stmt.close();

conn.close();

}catch(Exception e){

System.out.println(e.toString());

}

}

}

}

ShowStudents.jsp

<%@ page language="java" contentType="text/html; charset=GBK" %>

<%@ page import="java.util.*,java.sql.*,beans.StudentBean"%>

<%

String path = request.getContextPath();

String basePath =

request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";

%>

"https://www.360docs.net/doc/8d219572.html,/TR/xhtml1/DTD/xhtml1-transitional.dtd">

学生信息列表

Java中连接MySql数据库的几种方法

JDBC Java中JDBC定义了java与各种sql数据库之间的编程接口,JDBC API是一个统一的标准应用程序编程接口,这样可以屏蔽异种数据库之间的差异。 JDBC的工作原理 JDBC与ODBC(OpenData Base Connectivity,开放式数据库连接)的作用非常类似,它在应用程序和数据库之间起到了桥梁的作用。ODBC使用的特别广泛,在java中还提供了JDBC-ODBC桥,能够在JDBC与ODBC之间进行转换,这样可以通过ODBC屏蔽不同种数据库之间的差异。在JDK的包java.sql.*中定义了一系列的类、接口、异常以及这些类和接口中定义的属性和方法,java的开发人员通过一定的规则调用java.sql.*中的API就可以实现对数据库管理系统的访问。 JDBC的四种驱动 1.JDBC-ODBC Bridge JDBC-ODBC Bridge可以访问一个ODBC数据源,但在执行Java程序的机器上必须安装ODBC驱动,并作出配置,它的调用方式如下图: 因为中间有个JDBC-ODBC,所以影响了执行效率。 配置ODBC数据源的方法如下(以Mysql为例): 第一步,打开控制面板—>管理工具--->数据源(ODBC) 选择系统DSN,这一项默认应该是空的,我这里是已经配置好了一个数据源。

第二步,点击添加 第三步,选择Mysql的ODBC驱动,点击完成。 注:MySQL的ODBC驱动在系统中一般是找不到的,因为它不是系统默认自带的驱动,所以,我们要自己安装我们所需要的MySQL的ODBC驱动。安装步骤如下: ①.下载安装包,https://www.360docs.net/doc/8d219572.html,/downloads/connector/odbc/ ②.我们下载与自己系统相应的ODBC驱动 这里我们选择

完整java连接数据库步骤

完整java开发中JDBC连接数据库代码和步骤 JDBC连接数据库 ?创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过https://www.360docs.net/doc/8d219572.html,ng.Class类的静态方法forName(String className)实现。 例如: try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; }catch(ClassNotFoundException e){ System.out.println("找不到驱动程序类,加载驱动失败!"); e.printStackTrace() ; } 成功加载后,会将Driver类的实例注册到DriverManager类中。 2、提供JDBC连接的URL ?连接URL定义了连接数据库时的协议、子协议、数据源标识。 ?书写形式:协议:子协议:数据源标识 协议:在JDBC中总是以jdbc开始 子协议:是桥连接的驱动程序或是数据库管理系统名称。 数据源标识:标记找到数据库来源的地址与连接端口。 例如:(MySql的连接URL) jdbc:mysql: //localhost:3306/test?useUnicode=true&characterEncoding=gbk ; useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为 gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。 3、创建数据库的连接 ?要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。 ?使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。 例如: //连接MySql数据库,用户名和密码都是root String url = "jdbc:mysql://localhost:3306/test" ; String username = "root" ; String password = "root" ; try{ Connection con = DriverManager.getConnection(url , username , password ) ; }catch(SQLException se){ System.out.println("数据库连接失败!"); se.printStackTrace() ; }

Java 实现连接sql server 2000(JDBC数据库访问例子)

第一种:通过ODBC连接数据库 JAVA语言的跨平台的工作能力(Write Once ,Run Anywhere)、优秀的图像处理能力(我相信现在没有那种语言可以超过JAVA在网络上的图形处理能力)、网络通信功能、通过JDBC数据库访问技术等等,让我们谁都不可否认JAVA语言是SUN公司对于计算机界的一个巨大的贡献。笔者可以描述这样一个场景:有一天你上网完全可以不用IE 或者NETSCAPE,上网就像是玩游戏,你可以获得游戏那么精美的图像和互动的感觉,如果你玩过UO,也许你就知道那种感觉了,但是JAVA做成的东西一定会超过UO的,因为不单单是游戏,也不是单单是浏览器,如果你愿意(要你有钱,有时间,有优秀的JAVA人才)你可以把所有的这一切用Java完全集成出来!!!我不是夸大JAVA的功能,大家可以访问一下 https://www.360docs.net/doc/8d219572.html,的那个社区程序,你就能找到一种感觉了:相信我没有说什么假话。好了,不说废话了,现在我向你介绍JAVA的数据库访问技术 ----JDBC数据库访问技术(你可千万不要搞成ODBC了!)。 JDBC技术事实上是一种能通过JAVA语言访问任何结构化数据库的应用程序接口(API)(Sun这样说的,我也不知道是不是真的),而且现在的JDBC 3.0据Sun 说也能访问Execel等电子表格程序! JDBC对于数据库的访问有四种方式,我们这里只是介绍两种: 第一种是通过ODBC做为“桥”(Bridge)对数据库访问,第二种是直接对数据库访问。 我们先来看看第一种JDBC<-->ODBC访问的流程: JDBC Driver Mannager->JDBC<->ODBC桥->ODBC->数据库客户机驱动库->数据库服务器->返回查询结果,在这种访问中值的我们注意的是虽然JAVA是"Write Once ,Run Anywhere",但是如果通过这种访问的话,需要客户端必须设置ODBC和有相应的数据库客户机的驱动,当你看了下面的另外一个流程的时候或许你会想:明明下一种更方面,为什么还要有这个东西的产生!呵呵,因为,未必所有的数据库服务器提供商都提供下面的JDBC驱动程序(给JDBC访问提供相应的接口),所以就有了JDBC<->ODBC Bridge。 接着再让我们来看看第二种访问流程: JDBC Driver Mannager->局部JDBC驱动->客户端数据库->数据库服务器->返回查询结果,这种访问事实上是转换JDBC调用为相应的数据库(Oracle, Sybase, Informix, DB2, 和其他的数据库数据库管理系统)的客户端API调用(这么说,不知道大家能不能懂,说简单点就好像ASP不是通过DSN对数据库访问而是通过OLEDB访问,说道这里我还是不知道大家能不能明白我的意思。哎呀,不要扔鸡蛋嘛!),这种方式的访问需要相应的数据库提供商提供相应的JDBC 驱动程序,但是有一种好处,可以独立于odbc用于可以随处可Run的客户端的浏览器中的Applet程序。

java连接mysql数据库

Java连接MySQL 数据库的正确操作流程 时间:2010-05-25 15:41 来源:博客园字体:[大中小] 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例),我们主要是以MySQL数据库为例讲下Java正确连接MySQL数据库的实际操作流程,以下就是对其详细内容的描述。 当然,首先要安装有JDK(一般是。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的加到classpath里,具体如下: “我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。 环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。 我是用SQLyog的前端软件来创建Database的。 先创接MySQL 数据库: 1.CREATE DATABASE SCUTCS; 接着,创建表: 1.CREATE TABLE STUDENT 2.( 3.SNO CHAR(7) NOT NULL, 4.SNAME VARCHAR(8) NOT NULL, 5.SEX CHAR(2) NOT NULL, 6.BDATE DATE NOT NULL, 7.HEIGHT DEC(5,2) DEFAULT , 8.PRIMARY KEY(SNO) 9.); 然后插入数据,可以用SQL语句insert into <表名> values (value1, value2, ...); 也可以用SQLyog来操作 好了,创建好了。

java平时最常用的7种数据库连接方式

今天总结了java平时最常用的7种数据库连接方式,现在分享给大家 MySQL: String Driver="com.mysql.jdbc.Driver"; //驱动程序 String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name 为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); Connection con=DriverManager.getConnection(URL,Username,Password); Microsoft SQL Server: 1) String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接SQL数据库的方法 String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); //加载数据可驱动 Connection con=DriverManager.getConnection(URL,UserName,Password); // 2) String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //连接SQL数据库的方法 String URL="jdbc:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); //加载数据可驱动 Connection con=DriverManager.getConnection(URL,UserName,Password); Sysbase: String Driver="com.sybase.jdbc.SybDriver"; //驱动程序 String URL="jdbc:Sysbase://localhost:5007/db_name"; //db_name为数据可名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).newInstance(); Connection con=DriverManager.getConnection(URL,Username,Password); Oracle(用thin模式): String Driver="oracle.jdbc.driver.OracleDriver"; //连接数据库的方法String URL="jdbc:oracle:thin:@loaclhost:1521:orcl"; //orcl为数据库的SID String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).newInstance(); //加载数据库驱动

Java连接各种数据库写法

随笔- 6 文章- 0 评论- 1 Java连接各种数据库写法 # 示例配置参考,涵盖几乎所有的主流数据库 ############# Oracle数据库######################## # 数据库驱动名 driver=oracle.jdbc.driver.OracleDriver # 数据库URL(包括端口) dburl=jdbc:oracle:thin:@127.0.0.1:1521:zvfdb # 数据库用户名 user=root # 用户密码

password=zvfims ############# DB2数据库######################## # 数据库驱动名 driver=com.ibm.db2.jcc.DB2Driver # 数据库URL(包括端口) dburl=jdbc:db2://127.0.0.1:50000/zvfdb # 数据库用户名 user=root # 用户密码 password=zvfims ############# MySQL数据库######################## # 数据库驱动名

driver=com.mysql.jdbc.Driver # 数据库URL(包括端口) dburl=jdbc:mysql://127.0.0.1:3306/zvfdb # 数据库用户名 user=root # 用户密码 password=zvfims ############# PostgreSQL数据库数据库######################## # 数据库驱动名 driver=org.postgresql.Driver # 数据库URL(包括端口) dburl=jdbcostgresql://127.0.0.1/zvfdb

java数据库连接方法

一、问题引入 在java程序中,需要访问数据库,做增删改查等相关操作。如何访问数据库,做数据库的相关操作呢? 二、Java连接数据库方法概述 java.sql提供了一些接口和类,用于支持数据库增删改查等相关的操作。该jar包定义了java访问各种不同数据库(mysql,oracle,sqlserver。。。。。)的统一接口和标准。同时,各个数据库厂商都提供了该jar包中定义的各个接口的实现类,用于具体实现本厂数据库的增删改查操作,即称之为“数据库驱动jdbc driver”。例如mysql的数据库驱动为:com.mysql.jdbc.driver;oracle的数据库驱动为:oracle.jdbc.driver.oracledriver。在java程序中访问数据库,做数据库连接时,可以采用两种方式: 1、使用java.sql API 利用该包提供的各种接口和类直接访问数据库。 例子: 2、使用数据库连接池 目前存在多个开源的java数据库连接池,这些连接池都是在java.sql基础上编写而成。 该连接池的解决的问题是: 当使用java.sql中提供的api创建数据库连接时候,需要耗费很大的资源,要进 行用户名密码数据库连接验证等,即耗费资源也耗费时间。如果在程序中,每次需 要访问数据库时候,都进行数据库连接,那么势必会造成性能低下;同时,如果用 户失误忘记释放数据库连接,会导致资源的浪费等。而数据库连接池就是解决该问 题,通过管理连接池中的多个连接对象(connection),实现connection重复利用。 从而,大大提高了数据库连接方面的性能。 该连接池的功能是: 负责创建,管理,释放,分配数据库连接即(connection)。首先,负责创建相应 数目的数据库连接对象(connection)对象,并存放到数据库连接池(connect pool)中。当用户请求数据库连接时,该连接池负责分配某个处于空闲状态的数据库连接 对象;当用户发出释放该数据库连接时,该连接池负责将该连接对象重新设置为空

JAVA连接各种数据库的代码大全

Java数据库连接大全 注:newInstance()可要可不要。 通用JDBC-ODBC直连方式(无需额外的驱动包): Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn=DriverManager.getConnection("jdbc:odbc:Driver={SQL Server};Server=localhost;uid=sa;pwd=1111;Database=db"); 以下方式中Class.forName中的都是需要添加的驱动包。 1Java连接Oralce Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; Connection conn=DriverManager.getConnection(url,user,password); 2Java连接MySQL Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //Class.forName("com.mysql.jdbc.Driver"); String URL="jdbc:mysql://localhost/test"; Connection conn=DriverManager.getConnection(url,user,password); 3Java连接SQLServer 连接mssql2000 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db"; Connection conn=DriverManager.getConnection(url,user,password); 连接mssql2005+ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String URL="jdbc:sqlserver://localhost:1433;DatabaseName=db"; Connection conn=DriverManager.getConnection(url,user,password); 通用方式: Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance(); String url="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=db"; Connection conn=DriverManager.getConnection(url,user,password); 4Java连接DB2 Class.forName(“com.ibm.db2.jdbc.app.DB2Driver").newInstance(); String URL=”jdbc:db2://localhost:5000/db"; Connection conn=DriverManager.getConnection(url,user,password); 5Java连接Infomix Class.forName("https://www.360docs.net/doc/8d219572.html,rmix.jdbc.IfxDriver").newInstance(); String URL="jdbc:informix-sqli://123.45.67.89:1533/db:INFORMIXSERVER=myserver"; Connection conn=DriverManager.getConnection(url,user,password); 6Java连接SyBase Class.forName("com.sybase.jdbc.SybDriver").newInstance(); Properties sysProps=System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn=DriverManager.getConnection(url,SysProps);

Java连接MySql数据库,并且实现插入、删除、更新、选择操作

天之火–Qutr的专栏 君子终日乾乾,夕惕若,厉,无咎。 Home Java连接MySql数据库,并且实现插入、删除、更新、选择操作! 这是我最近写的一个连接MySql数据库的一个例子,主要实现了插入,删除,更新,选择操作,用的环境是j2sdk1.4.2_08,Eclipse3.1。以前我的同事用Python 写了同样的类,非常的好用,支持了我们公司的大部分业务,现在我们慢慢改用Java了,所以我用Java重写了一遍。一方面在今后的业务中能够用到,另一方面熟悉一下Java。 下面我把在Eclipse3.1下怎样配置数据库连接信息简单说一下。 1.启动Eclipse3.1。 2.建立一个Java project就叫DbConnect 吧,再在该Project下建立一个新类也叫 DbConnect 吧。 3.右击DbConnect.java文件点import,选择Archive file然后选择你的 mysql-connector-java-3.1.8-bin.jar文件,点Finish。你会看到有好些文件被加载进来,OK这就是连接MySql所需的驱动信息。如果到了这里你都成功的话那么恭喜你,你已经成功一半了!:) 4.接下来把我下面的代码copy到你的Java文件中,修改相关的数据库连接信息 运行一下。OK? 我说一下那个mysql-connector-java-3.1.8-bin.jar文件,其实这就是一个MySql的驱动,各数据库厂商提供了不同的适用于JDBC的驱动使得在Java中连接数据库非常简单。这里我就不多说了,以后我会写篇专门介绍数据库驱动的文章。关于MySql的驱动还有更新版本的,你需要到MySql的网站上去下载,这个网上到处都是,我就不多说了。下面看程序,有些地方我写了详细的注释应该能看懂。 这个类是非常有特色的,在每个方法的传人参数和返回值不变的情况下,希望高手能提出改进意见。多指教,谢谢! /** * 数据库连接、选择、更新、删除演示 */ //import java.sql.*; import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.DriverManager; import java.util.*; public class DbConnect {

java图形界面以及链接数据库

import .*; import .*; import .*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,,; private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { (null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("你"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) {

jb[i].setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { (jb[i]); } (280,10,50,30); (20,375,30,50); (55,385,80,30); (160,375,40,50); (210,385,300,30); jb[3].setBounds(520,365,75,50); (10,50,600,300); (j1); (j2); (j3); (box); (text); (jb[3]); (js); for(int i=0;i<=3;i++) { jb[i].addActionListener(this); } (false); (true); ("留言内容:");

Java连接MySql数据库入门操作

这是连接后进行一些简单操作后的结果: Succeeded connecting to the Database! 学号姓名 2011001 张三 2011002 李四 2011003 王五 先去下载MySql并安装好。安装MySql的方法在 https://www.360docs.net/doc/8d219572.html,/view/9cc0fcc76137ee06eff918d5.html 然后下载jdbc驱动。 https://www.360docs.net/doc/8d219572.html,/downloads/connector/j/ 下载好了解压即可。把那个zip文件也放到解压后的目录中,方便管理使用。 我使用的是eclipse,我要导入包,先进行一些设置。

安装jre。 添加外部jar文件 打开刚才解压得到的jar文件。

打开的效果。 使用mysql创建数据库,进行测试。 mysql> use test; Database changed mysql> create table student ( -> sno char(7) not null, -> sname varchar(8) not null, -> sex char(2) not null -> ); Query OK, 0 rows affected

mysql> insert into student values -> (2011001, '张三', '男'); Query OK, 1 row affected mysql> insert into student values -> (2011002, '李四', '男'); Query OK, 1 row affected mysql> insert into student values -> (2011003 , '王五', '男'); Query OK, 1 row affected mysql> select * from student; +---------+-------+-----+ | sno | sname | sex | +---------+-------+-----+ | 2011001 | 张三| 男| | 2011002 | 李四| 男| | 2011003 | 王五| 男| +---------+-------+-----+ 3 rows in set mysql> 编码测试。 输入下面源代码: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCTest { public static void main(String[] args){ try { // 加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); // URL指向要访问的数据库名test String url = "jdbc:mysql://127.0.0.1:3306/test"; // MySQL配置时的用户名 String user = "root";

Java连接mysql数据库源代码

Java连接mysql数据库源代码 /** *@author mervyn *@Development_time 2011.3.12 *welcome to https://www.360docs.net/doc/8d219572.html,/mervyn_hb */ package src; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.sql.*; import java.util.*; public class MysqlConnectSystem { /** * @param args * @throws IOException */ public static void main(String[] args) throws SQLException, IOException { String Usename,KeyID,UrlString; //String DriverConnect; char MenuExitValue; String driver="com.mysql.jdbc.Driver"; Scanner EntryValue=new Scanner(System.in); System.out.println("欢迎使用MysqlConnectSystem信息管理系统!"); MysqlConnectSystem mysqlconnect=new MysqlConnectSystem(); MysqlConnectSystem mysqlinsert=new MysqlConnectSystem(); MysqlConnectSystem mysqlupdate=new MysqlConnectSystem(); MysqlConnectSystem mysqldelete=new MysqlConnectSystem(); System.out.println("请输入要登录的用户名:"); Usename=EntryValue.next(); System.out.println("请输入要登录的数据库的密码:"); KeyID=EntryValue.next(); System.out.println("请输入需要登录的数据库:"); UrlString="jdbc:mysql://127.0.0.1:3306/"+EntryValue.next(); do{ try { Class.forName(driver); Connection conn=DriverManager.getConnection(UrlString, Usename,

Java连接数据库全过程

Java连接数据库全过程 第一次用java连接数据库,开始竟然不知道从哪里下手,后看了很多书,请教了很多高手,忙了一天才连接上,所以我把这个详细的过程整理出来贡献给大家,不当的地方,希望大家告诉我,一定更正。 要准备的软件: 1.操作系统:windows xp或其他系统; 2.java运行环境:JDK 官方下载网址:https://www.360docs.net/doc/8d219572.html,/javase/downloads/index.jsp 3.数据库:SQL server 2000; 下面是java连接数据库需要更新的东西,不然连不上的: 1安装SQL SP3补丁:“SQLSERVER2000SP3补丁.exe”,和普通的程序安装一样。 2.把3个jar包:“msbase.jar”,“mssqlserver.jar”,“msutil.jar”加到classpath中,具体的安装方法我已经详细整理:“Java连接数据库配置——加载jar包”。 Java连接数据库的核心程序文件:"TestConnect.java"如下 //TestConnect.java import java.sql.*; public class TestConnect { private Connection con=null;//Connection:与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。 String dbDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//声明数据库驱动名(这个是微软的驱动名) //String dbDriver="sun.jdbc.odbc.JdbcOdbcDriver";//sun驱动程序名 //String dbUrl="jdbc:odbc:lhs"; String dbUrl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=lhs";//数据库驱动程序URL,和相应的驱动配套。 String dbUser="sa";//定义数据库登陆用户名 String dbPasw="123";//定义相应用户的登陆密码 //创建数据库连接 public void connect()

Java使用JDBC连接MYSQL数据库增删改查示例

Java使用JDBC连接MYSQL数据库增删改查示例JDBC连接MYSQL数据库: import java.sql.Connection; import java.sql.DriverManager; public class Mysql { public static void main(String arg[]) { try { Connection con = null; //定义一个MYSQL链接对象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL 驱动 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //链接本地MYSQL System.out.print("yes"); } catch (Exception e) { System.out.print("MYSQL ERROR:" + e.getMessage()); } }

} Class.forName("com.mysql.jdbc.Driver").newInstance(); 我们链接的是MYSQL 数据库,所以需要一个MYSQL的数据库驱动,如果你的环境中没有安装,可以下载:mysql-connector-java-5.1.17-bin.jar JAR包,然后放进jdk1.6.0_37\jre\lib\ext 重启eclispe 就可以在JRE系统库中看到。 con = DriverManager.getConnection;("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); 是链接数据库的语句,返回Connection con;对象。参数格式:("jdbc:mysql://ip:端口/数据库名称", 用户名,密码) 写入一条数据 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Mysql { /**

JAVA SWING 连接数据库的步骤

Java swing连接数据库的步骤 1.在工程中导入3个jar包,详见(导入Jar包的过程.doc) 2.在类中导入包 a)import java.sql.*; b)import com.microsoft.jdbc.sqlserver.*; 3.声明连接对象,执行语句对象,结果集对象 a)Connection conn=null; b)Statement stmt=null; c)ResultSet rs=null; 4.定义连接字符串 a)final String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver"; b)final String DBURL="jdbc:microsoft:sqlserver://127.0.0.1:1433;DataBaseName=pubs"; c)final String USER="sa"; d)final String PASS=""; 5.创建连接对象 try{ Class.forName(CLASSFORNAME); conn=DriverManager.getConnection(DBURL,USER,PASS); }catch(SQLException e){ System.out.println(e.getMessage()); }catch(ClassNotFoundException ex){ JOptionPane.showMessageDialog(this,"练苦失败"); return; }

6.创建执行语句对象stmt try{ String sql="insert into users values('name1','pass1')"; //上一行代码可以写成下一行的方式,试分析它的作用是什么? //String sql="insert into users values('"+name+"','"+pass+"')"; stmt=conn.createStatement(); stmt.executeUpdate(sql); }catch(SQLException ex1){ } 7.完毕

JAVA-JDBC连接数据库(查询_添加_修改_删除)

一实验目的 (1)理解JDBC的工作原理,熟悉java.sql包中与数据库访问相关的类及其用法,如DriverManager、 Connection、Statement、ResultSet。 (2)熟悉利用JDBC进行数据库访问的步骤: —加载JDBC驱动程序(Class.forName() —建立数据库连接(DriverManager.getConnection()) —发布SQL命令 (stmt=Con.createStatement(),stmt.executeQuery()) —取结果集并处理(ResultSet的next()方法和.get***()方法) —关闭连接,释放对象(close()) (3)掌握建立ODBC数据源的方法,会使用JDBC-ODBC Bridge进行数据库访问。 二实验内容 编写图形界面程序,利用JDBC实现图书/同学通讯录/校园卡/团员/教师/学生管理系统。(任选1题,也可自拟题目,但需指导教师同意!) 三实验要求 (1) 进行规范的数据库设计,正确地定义关系数据表的结构及表间联系(包括:字段的数据类型、宽度、精度、主键、外键、缺省值)。 (2)要求界面布局紧凑、流畅、美观,实现的功能较为完善 (3)本实验分两次完成,第一次可以先做一些准备测试,旨在熟悉JDBCAPI编程接口中相关类的使用方法,测试中可以先基于字符界面实现功能,再逐步过渡到图形界面。 四实验步骤 (1)在Access或SQL Server中建立数据库及基础表。在控制面板中正确配置ODBC数据源,并测试成功。 (2)编写图形界面的Application,利用JDBC-ODBC Bridge进行数据库访问,实现要求的功能。 五实验主要代码

Java连接MySQL数据库

Java与Myql数据库的连接问题 在我痛苦的try了N多次之后我终于明白,一个.java文件如何与mysql数据库连同并且可以在小黑屏里显示数据库里面的内容,数据库的驱动文件的安装实在是件头疼的事,实际上是不需要安转的,按如下步骤即可轻松解决。 1.在网上下载一个数据库驱动程序,例如我下载的是(0002mysqlconnectorjava517(1).rar)大小是7.71MB,解压之,到 0002mysqlconnectorjava517(1)或者到当前文件,在mysql-connector-java-5.1.7文件里有个mysql-connector-java-5.1.7-bin.jar文件,可以将此文件解压也可以不解压, 下面有a、b两种方法(结果是一样),首先我的文件是这样放的: a.我的那个没解压的.jar文件在D:\mysql-connector-java-5.1.7这个文件夹里面(就是那个694kb的压缩包) b.我把这个.jar文件解压后放在的D:\mysql-connector-java-5.1.7这个文件夹里面(就是那个mysql-connector-…)文件夹 2.配置环境变量(这是最要命的)我的电脑-->属性-->高级-->环境变量(N)-->系统变量-->新建classpath

如果是上面的a情况那么是这样配的 变量值是:D:\mysql-connector-java-5.1.7\mysql-connector-java-5.1.7-bin.jar; 请切记变量值后面一定要有一个分号----【;】切记要有这个不然就出现如下异常错误并且在每次设置环境变量之后DOS框是要重新启动的不然没有生效的是。 D:\Java>javac database.java D:\Java>java database Exception in thread "main" https://www.360docs.net/doc/8d219572.html,ng.NoClassDefFoundError: database Caused by: https://www.360docs.net/doc/8d219572.html,ng.ClassNotFoundException: database at https://www.360docs.net/doc/8d219572.html,.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at https://www.360docs.net/doc/8d219572.html,.URLClassLoader.findClass(URLClassLoader.java:188) at https://www.360docs.net/doc/8d219572.html,ng.ClassLoader.loadClass(ClassLoader.java:307) at https://www.360docs.net/doc/8d219572.html,uncher$AppClassLoader.loadClass(Launcher.java:301) at https://www.360docs.net/doc/8d219572.html,ng.ClassLoader.loadClass(ClassLoader.java:252) at https://www.360docs.net/doc/8d219572.html,ng.ClassLoader.loadClassInternal(ClassLoader.java:320) Could not find the main class: database. Program will exit. D:\Java>

相关文档
最新文档