当前位置:文档之家› JDBC数据库程序设计

JDBC数据库程序设计

JDBC数据库程序设计
JDBC数据库程序设计

实验与实训指导书课程名称:JDBC数据库程序设计

第一章概述

一、实训总目的

1.掌握C/S网络数据库的工作原理与结构

2.掌握安装和配置JAVA的运行环境

3.掌握配置系统数据库的运行环境和建ACCESS数据库4.掌握SQL语言的方法和使用

5.掌握JAVA的JDBC数据库的编程方法

6.掌握运用面向对象的程序设计方法开发程序

二、实训内容和时间进程安排:

三、实训条件

硬件:奔腾Ш计算机,128M以上内存,40G硬盘

软件:WINXP或WIN2000等系统环境,ACCESS数据库、JBUILDER、JAVA虚拟机

场地:计算机机房

四、实训成绩评定、考核办法

实训成绩的评定依据两个方面:考勤成绩和考核成绩,前者占总评的10%,后者占总成绩的90%.

考勤内容包括: 是否按时到场;是否按进度要求完成实训科目;是否认真填写实训日记;是否保持实训设备完好无损等。

考核办法:

1、建立数据库和配置系统的数据库调用环境 15%

2、安装JAVA的软件和配置JAVA运行环境 15%

3、实现对数据库表的修改、添加、删除、查询等功能 60%

4、程序设计过程中的表现和出勤率 10%

其中,各等级的评判标准为:

优秀标准:圆满完成实训内容,在实训中有优秀表现的,成绩在90分以上的学生。

良好标准: 圆满完成实训内容,成绩在75分以上的学生。

及格标准:完成部分实训内容,成绩在60分以上的学生。

不及格标准:没有参加实训或基本没有完成实训内容,成绩在60分以下的学生。

第二章实训内容

题目:JAVA实现C/S结构网络数据库应用程序开发

一、实训目的

1、掌握C/S网络数据库的工作原理与结构

2、掌握安装和配置JAVA的运行环境

3、掌握配置系统数据库的运行环境和建ACCESS数据库

4、掌握JAVA的JDBC数据库的编程方法

5、掌握运用面向对象的程序设计方法开发程序

二、实训理论基础

1、数据库基础知识。能熟练使用ACCESS数据库建立数据库,建立数据表,能利用SQL

语言建立查询、添加、修改、删除数据记录。

2、能安装JAVA开发软件JBUILDER、JAVA虚拟机,配置操作系统数据库连接环境,配

置JAVA程序运行环境。

3、J DBC的数据库类和JDBC语句,利用JDBC实现对数据库的连接、添加、修改、查询、

删除等功能。

4、掌握基于JAVA面向对象的程序设计方法开发程序。

5、利用JBUILDER工具方便实现基于JA VA面向对象的程序设计开发程序。

三、实训内容与步骤

1、建立数据库、数据库表,建立操作系统的数据库连接环境。

打开ACCESS,在ACCESS中建立数据库People.mdb,在数据库中建立表,在表中输入部分数据。

图1:建立数据库,在数据库中建立数据表

图2:在建立的数据表中输入部分数据

建立操作系统的数据库运行环境。打开系统的ODBC数据资源管理器,选择添加按钮,选取全面建立的数据库类型,选择建立好的数据库,给出使用时连接的别名,按高级选项按钮,输入登录的用户名和密码,具体如下图:

图3:添加ODBC的DSN的新数据源

图4:ODBC中连接建立的数据源

图5:输入用户登录名和密码

2、安装JAVA软件,配置JAVA应用程序运行的环境。

安装完JUBLIDER和JAVA虚拟机之后,配置JAVA 运行环境配置,其过程如下:从桌面选择“我的电脑”(右键)-→高级-→环境变量,在其中选择“系统变量”的“新建”,在变量名中输入CLASSPATH,变量值中输入C:\JDK13\LIB\DT.JAR;C:\JDK13\LIB\BOOLS.JAR;C:\JDK13\BIN;然后确认。或者直接修改自动批处理文件AUTOEXEC.BAT文件,利用任何编辑器编辑该文件,加入如下语句:

set classpath=c:\jdk13\lib\dt.jar;c:\jdk13\lib\tools.jar; c:\jdk13\bin;

配置完成后,要重新启动计算机,环境变量才生效。

3、编写实现JAVA网络数据库应用程序。

(一)设计主窗口

在Jbuilder中利用向导创建一个新的工程database.jpr和一个主窗体类MainFrame.java,并在MainFrame.java类的design视窗中加入GridControl和四个按钮“添加”、“删除”、“修改”和“退出”,并进行适当的布局,激活按钮的相应事件和GridControl的subfocusChanged事件,铜丝修改GridControl控件的标题保持数据库中一致(“姓名”、“性别”、“年龄”、“电话”、”备注”).最后得到的源程序清单如下: /*MainFrame.java*/

package database;

import java.awt.*;

import java.awt.event.*;

import https://www.doczj.com/doc/c713938540.html,yout.*;

import borland.jbcl.control.*;

import java.sql.*;

import java.util.*;

import borland.jbcl.model.*;

public class MainFrame extends DecoratedFrame

{

GridControl gridControl1 = new GridControl();

Button button1 = new Button();

Button button2 = new Button();

Button button3 = new Button();

Button button4 = new Button();

PaneLayout paneLayout1 = new PaneLayout();

public MainFrame()

{

try {

jbInit();

}

catch (Exception e)

{

e.printStackTrace();

}

}

private void jbInit() throws Exception

{

this.setTitle("数据库实例");

gridControl1.setColumnCaptions(new String[] {"姓名", "性别", "年龄", "电话", "备注"});

button1.setLabel("增加");

button1.addActionListener(new MainFrame_button1_actionAdapter(this));

button2.setLabel("修改");

button2.addActionListener(new MainFrame_button2_actionAdapter(this));

button3.setLabel("删除");

button3.addActionListener(new MainFrame_button3_actionAdapter(this));

button4.setLabel("退出");

button4.addActionListener(new MainFrame_button4_actionAdapter(this));

this.setLayout(paneLayout1);

this.add(gridControl1, new PaneConstraints("gridControl1", "gridControl1", PaneConstraints.ROOT, 0.5f));

this.add(button1, new PaneConstraints("button1", "gridControl1", PaneConstraints.BOTTOM, 0.11522633f));

this.add(button2, new PaneConstraints("button2", "button1", PaneConstraints.RIGHT, 0.7428571f));

this.add(button3, new PaneConstraints("button3", "button2", PaneConstraints.RIGHT, 0.6818182f));

this.add(button4, new PaneConstraints("button4", "button3", PaneConstraints.RIGHT, 0.5589744f));

gridControl1.setReadOnly(true);

gridControl1.addSubfocusListener(new

MainFrame_gridControl1_subfocusAdapter(this));

}

public static void main(String[] args)

{

MainFrame frame=new MainFrame();

frame.setLocation(150,150);

frame.setSize(550,400);

frame.show();

}

void button1_actionPerformed(ActionEvent e)

{

}

void button2_actionPerformed(ActionEvent e)

{

}

void button3_actionPerformed(ActionEvent e)

{

}

void button4_actionPerformed(ActionEvent e)

{

}

void gridControl1_subfocusChanged(MatrixSubfocusEvent e)

{

}

}

class MainFrame_button1_actionAdapter implements java.awt.event.ActionListener {

MainFrame adaptee;

MainFrame_button1_actionAdapter(MainFrame adaptee)

{

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent e)

{

adaptee.button1_actionPerformed(e);

}

}

class MainFrame_button2_actionAdapter implements java.awt.event.ActionListener {

MainFrame adaptee;

MainFrame_button2_actionAdapter(MainFrame adaptee)

{

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent e)

{

adaptee.button2_actionPerformed(e);

}

}

class MainFrame_button3_actionAdapter implements java.awt.event.ActionListener {

MainFrame adaptee;

MainFrame_button3_actionAdapter(MainFrame adaptee)

{

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent e)

{

adaptee.button3_actionPerformed(e);

}

class MainFrame_button4_actionAdapter implements java.awt.event.ActionListener {

MainFrame adaptee;

MainFrame_button4_actionAdapter(MainFrame adaptee)

{

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent e)

{

adaptee.button4_actionPerformed(e);

}

}

class MainFrame_gridControl1_subfocusAdapter extends borland.jbcl.model.MatrixSubfocusAdapter

{

MainFrame adaptee;

MainFrame_gridControl1_subfocusAdapter(MainFrame adaptee)

{

this.adaptee = adaptee;

}

public void subfocusChanged(MatrixSubfocusEvent e)

{

adaptee.gridControl1_subfocusChanged(e);

}

}

(二)建立数据库连接

在MainFrame类的变量申明中加入对数据源操作的Connection对象和PreparedStatement对象,并在构造函数中对Connection变量进行初始化,建立和数据源”temp”的连接:

Connection connection=null;

PreparedStatement statement=null;

public MainFrame(){

try {

jbInit();

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

connection=DriverManager.getConnection("jdbc:odbc:temp");

setGridControl();

}

catch (Exception e)

{

e.printStackTrace();

}

}

(三)显示数据库内容

对数据库的访问,需要定义一个内存矢量来存放数据库中的数据,该内存矢量中的数据始终和数据库中保持一致,同时在进行增加、删除和修改操作时,一边修改数据库中的数据,一边修改内存矢量表中的数据,定义内存矢量为:Vector data=new Vector();

则读取数据库中的数据到矢量表中程序为:

String sql="select * from people";

statement=connection.prepareStatement(sql);

ResultSet result=statement.executeQuery();

while(result.next())

{

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

String sex=result.getString("sex");

int age=result.getInt("age");

String phone=result.getString("phone");

String other=result.getString("other");

data.addElement(name);

data.addElement(sex);

data.addElement(Integer.toString(age));

data.addElement(phone);

data.addElement(other);

}

result.close();

statement.close();

然后需要将数据显示到GridControl控件中,利用GridControl控件的SetItems()方法,因为我们还需要定义一个临时数据租来对数据进行格式化从而可以直接输出到Gri8dControl控件中:

int len=data.size()/5;

String[][] items=new String[len][5];

for(int i=0;i

{

items[i][0]=(String)data.elementAt(i*5);

items[i][1]=(String)data.elementAt(i*5+1);

items[i][2]=(String)data.elementAt(i*5+2);

items[i][3]=(String)data.elementAt(i*5+3);

items[i][4]=(String)data.elementAt(i*5+4);

}

(四)实现增加和修改记录功能

对数据库中记录的增加和修改对话事实上相同的,区别仅仅在于修改对话框中具有初始化的该纪录数据而增加对话框的初始化数据为空。具体代码如下:

图6:修改记录用户窗口

//修改记录

void changeDatabase()

{

try

{

String sql="update people set sex='";

sql+=textField2.getText()+"',age=";

sql+=textField3.getText()+",phone='";

sql+=textField4.getText()+"',other='";

sql+=textField5.getText()+"' where name='";

sql+=textField1.getText()+"'";

frame.statement=frame.connection.prepareStatement(sql);

frame.statement.executeUpdate();

frame.statement.close();

//调用主窗体显示数据函数

frame.setGridControl();

this.dispose();

}catch(Exception e)

{

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

}

}

图7:添加记录用户窗口

//增加记录

void addDatabase()

{

try

{

String sql="insert into people(name,sex,age,phone,other) values('"; sql+=textField1.getText()+"','";

sql+=textField2.getText()+"',";

sql+=textField3.getText()+",'";

sql+=textField4.getText()+"','";

sql+=textField5.getText();

sql+="')";

frame.statement=frame.connection.prepareStatement(sql);

frame.statement.executeUpdate();

frame.statement.close();

//调用主窗体显示数据函数

frame.setGridControl();

this.dispose();

}catch(Exception e)

{

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

}

}

(五)完成主窗口事件设计

1、加事件

在“添加”按钮事件中只需要直接显示增加对话框即可。

InputDialog idlg=new InputDialog(this,"添加新记录",true);

idlg.setLocation(200,200);

idlg.setSize(300,200);

idlg.show();

2、修改事件

“修改”按钮事件同“添加”按钮事件类似,但前者必须将对话框的编辑属性设为false(即不可编辑状态),同时需要修改的选定记录的有关数据显示在修改对话框中,并须改提示信息内容。

InputDialog idlg=new InputDialog(this,"添加新记录",true);

idlg.textField1.setEditable(false);

idlg.groupBox1.setLabel("请输入修改用户信息:");

idlg.textField1.setText((String)data.elementAt(row*5));

idlg.textField2.setText((String)data.elementAt(row*5+1));

idlg.textField3.setText((String)data.elementAt(row*5+2));

idlg.textField4.setText((String)data.elementAt(row*5+3));

idlg.textField5.setText((String)data.elementAt(row*5+4));

idlg.setLocation(200,200);

idlg.setSize(300,200);

idlg.show();

3、删除事件

在“删除”按钮事件中应该提示用户是否确定删除,得到用户肯定后获取用户选定记录并调用PreparedStatement对象executeUpdate()方法删除,同时调用显示数据方法setGridControl()显示删除后数据库中的数据。

MessageDialog mdlg=new MessageDialog(this,"删除确认","你确定要删除该记录吗?",6);

mdlg.show();

if(mdlg.getResult()==MessageDialog.NO)

return;

String name=(String)data.elementAt(row*5);

String sql="delete from people where name='"+name+"'";

statement=connection.prepareStatement(sql);

statement.executeUpdate();

statement.close();

setGridControl();

4、控件焦点改变事件

在焦点改变事件中,用户把当前点中的记录的行和列信息保存在全局变量中,从而在“修改”和“删除”事件中可以得到但前用和所选中的记录信息。

try

{

MatrixLocation location=e.getLocation();

if(location==null) return;

row=location.row;

column=location.column;

}catch(Exception ee)

{ }

(六)整体设计代码

图8:运行的主窗体用户窗口

整体的应用程序如下:

/*源代码清单MainFrame.java*/

package database;

import java.awt.*;

import java.awt.event.*;

import https://www.doczj.com/doc/c713938540.html,yout.*;

import borland.jbcl.control.*;

import java.sql.*;

import java.util.*;

import borland.jbcl.model.*;

public class MainFrame extends DecoratedFrame

{

GridControl gridControl1 = new GridControl();

Button button1 = new Button();

Button button2 = new Button();

Button button3 = new Button();

Button button4 = new Button();

PaneLayout paneLayout1 = new PaneLayout();

Connection connection=null;

PreparedStatement statement=null;

int row=0;

int column=0;

Vector data=new Vector();

public MainFrame()

{

try {

jbInit();

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

connection=DriverManager.getConnection("jdbc:odbc:temp");

setGridControl();

}

catch (Exception e)

{

e.printStackTrace();

}

}

private void jbInit() throws Exception

{

this.setTitle("数据库实例");

gridControl1.setColumnCaptions(new String[] {"姓名", "性别", "年龄", "电话", "备注"});

button1.setLabel("增加");

button1.addActionListener(new MainFrame_button1_actionAdapter(this));

button2.setLabel("修改");

button2.addActionListener(new MainFrame_button2_actionAdapter(this));

button3.setLabel("删除");

button3.addActionListener(new MainFrame_button3_actionAdapter(this));

button4.setLabel("退出");

button4.addActionListener(new MainFrame_button4_actionAdapter(this));

this.setLayout(paneLayout1);

this.add(gridControl1, new PaneConstraints("gridControl1", "gridControl1", PaneConstraints.ROOT, 0.5f));

this.add(button1, new PaneConstraints("button1", "gridControl1", PaneConstraints.BOTTOM, 0.11522633f));

this.add(button2, new PaneConstraints("button2", "button1",

PaneConstraints.RIGHT, 0.7428571f));

this.add(button3, new PaneConstraints("button3", "button2", PaneConstraints.RIGHT, 0.6818182f));

this.add(button4, new PaneConstraints("button4", "button3", PaneConstraints.RIGHT, 0.5589744f));

gridControl1.setReadOnly(true);

gridControl1.addSubfocusListener(new

MainFrame_gridControl1_subfocusAdapter(this));

}

public static void main(String[] args)

{

MainFrame frame=new MainFrame();

frame.setLocation(150,150);

frame.setSize(550,400);

frame.show();

}

void setGridControl()

{

try

{

data.removeAllElements();

String sql="select * from people";

statement=connection.prepareStatement(sql);

ResultSet result=statement.executeQuery();

while(result.next())

{

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

String sex=result.getString("sex");

int age=result.getInt("age");

String phone=result.getString("phone");

String other=result.getString("other");

data.addElement(name);

data.addElement(sex);

data.addElement(Integer.toString(age));

data.addElement(phone);

data.addElement(other);

}

result.close();

statement.close();

int len=data.size()/5;

String[][] items=new String[len][5];

for(int i=0;i

{

items[i][0]=(String)data.elementAt(i*5);

items[i][1]=(String)data.elementAt(i*5+1);

items[i][2]=(String)data.elementAt(i*5+2);

items[i][3]=(String)data.elementAt(i*5+3);

items[i][4]=(String)data.elementAt(i*5+4);

}

gridControl1.setReadOnly(false);

gridControl1.setItems(items);

gridControl1.setReadOnly(true);

}catch(Exception e)

{

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

}

}

void button1_actionPerformed(ActionEvent e)

{

InputDialog idlg=new InputDialog(this,"添加新记录",true);

idlg.setLocation(200,200);

idlg.setSize(300,200);

idlg.show();

}

void button2_actionPerformed(ActionEvent e)

{

InputDialog idlg=new InputDialog(this,"添加新记录",true);

idlg.textField1.setEditable(false);

idlg.groupBox1.setLabel("请输入修改用户信息:");

idlg.textField1.setText((String)data.elementAt(row*5));

idlg.textField2.setText((String)data.elementAt(row*5+1));

idlg.textField3.setText((String)data.elementAt(row*5+2));

idlg.textField4.setText((String)data.elementAt(row*5+3));

idlg.textField5.setText((String)data.elementAt(row*5+4));

idlg.setLocation(200,200);

idlg.setSize(300,200);

idlg.show();

}

void button3_actionPerformed(ActionEvent e)

{

try

{

MessageDialog mdlg=new MessageDialog(this,"删除确认","你确定要删除该记录吗?",6);

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

JDBC连接sql server数据库的详细步骤和代码

JDBC连接sql server数据库的详细步骤和代码JDBC连接sql server数据库的步骤如下: [java] view plaincopy 1.1、加载JDBC驱动程序: 2.在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 3.这通过https://www.doczj.com/doc/c713938540.html,ng.Class类的静态方法forName(String className)实现。 4.成功加载后,会将Driver类的实例注册到DriverManager类中。 5.2、提供JDBC连接的URL 6.?连接URL定义了连接数据库时的协议、子协议、数据源标识。 7.?书写形式:协议:子协议:数据源标识 8.协议:在JDBC中总是以jdbc开始 9.子协议:是桥连接的驱动程序或是数据库管理系统名称。 10.数据源标识:标记找到数据库来源的地址与连接端口。 11.3、创建数据库的连接 12.?要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象, 13.该对象就代表一个数据库的连接。 14.?使用DriverManager的getConnectin(String url , String username , 15. String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和 16.密码来获得。 17.4、创建一个Statement 18.?要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 19.种类型: 20.1、执行静态SQL语句。通常通过Statement实例实现。 21.2、执行动态SQL语句。通常通过PreparedStatement实例实现。 22.3、执行数据库存储过程。通常通过CallableStatement实例实现。 23.具体的实现方式: 24. Statement stmt = con.createStatement() ; 25. PreparedStatement pstmt = con.prepareStatement(sql) ; 26. CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ; 27.5、执行SQL语句 28. Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate 29.和execute 30.1、ResultSet executeQuery():执行查询数据库的SQL语句 31.,返回一个结果集(ResultSet)对象。 32.2、int executeUpdate():用于执行INSERT、UPDATE或 33. DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等 34.3、execute():用于执行返回多个结果集、多个更新计数或二者组合的 35.语句。 36.具体实现的代码: 37. ResultSet rs = pstmt.executeQuery() ;

JDBC实验二 使用JDBC实现数据库连接

广州中医药大学信息技术学院 实验报告 课程名称:网络数据库编程 专业班级:计算机科学与技术(08)级 学生学号:2008081013 学生姓名:张健华 实验名称:使用JDBC实现数据 库连接 实验成绩: 课程类别:必修□限选 公选□其它□

实验二使用JDBC实现数据库连接 实验类型:应用性实验实验日期: 3-23 [实验目的要求] 通过教学,使学生掌握使用JDBC连接到数据库的方法(如通过JDBC-ODBC 桥或Pure Java Driver),能使用网页表单实现网页与数据库的交互。 [实验内容及步骤] 1、在数据库SQL SERVER中创建一个数据库JDBCTEST,并创建表 student_info,并设定字段,输入内容。 2、使用JDBC-ODBC实现数据库连接 a)打开“控制面板”的“管理工具”的“数据源(ODBC)” b)建立数据源 c)选“系统数据源”,连接SQL SERVER数据库 d)测试是否连接成功 e)通过以下类Class、DriverManager、Connection(连接数据库用到的类), 及Statement、ResultSet(访问数据库用到的类)编写代码实现表 student_info数据的查询。 f)查询结果在页面中显示。 3、使用Pure Java Driver实现数据库连接 a)安装sql-jdbc,如装在D盘 b)设置环境变量classpath,添加D:\sqljdbc\msbase.jar; D:\sqljdbc\msutil.jar; D:\sqljdbc\mssqlserver.jar; c)设SQL SERVER数据库用Windows和数据库混合身分验证的方式。 d)通过以下类Class、DriverManager、Connection(连接数据库用到的类), 及Statement、ResultSet(访问数据库用到的类)编写代码实现表 student_info数据的查询。 e)查询结果在页面中显示。 4、通过表单传递数据,实现数据库的插入、删除与更新操作,并显示插入结果。 5、熟悉JSP中各种常用的内建对象如request对象、session对象、application对 象的使用。 6、熟悉各种表单的处理的方法:如选择按钮的使用、多选方块的使用、群组检 查的使用、隐藏栏位的使用、在客户端进行数据检查 7、试利用上述知识实现一个留言板系统。 以下需要同学们贴上第7题经调试好代码: 数据库对应的表1 数据库对应的表2 .。。。 代码1文件(***.HTM)内容: <%@ page contentType="text/html;charset=GB2312"%>

Java连接MySQL 数据库

Java连接MySQL 数据库的正确操作流程 时间:2010-05-25 15:41 来源:博客园字体:[大中小] 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例),我们主要是以MySQL数据库为例讲下Java正确连接MySQL数据库的实际操作流程,以下就是对其详细内容的描述。 当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动MySQL-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的 MySQL-connector-java-5.0.5-bin.jar加到classpath里,具体如下: “我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\MySQL-connector-java-5.0.5\MySQL-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个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 000.00, 8.PRIMARY KEY(SNO) 9.); 然后插入数据,可以用SQL语句insert into <表名> values (value1, value2, ...); 也可以用SQLyog来操作

实验8-jdbc数据库访问(优.选)

实验8 JDBC访问数据库 一、实验目的 1. 掌握使用传统的方法访问数据库; 2. 掌握使用数据源的方法访问数据库。 二、实验原理 数据库应用是Web应用开发的一个重要应用。Web应用程序访问数据库有两种方法:传统的方法和使用JNDI数据源的方法。 传统方法访问数据库的步骤是:①加载数据库驱动程序;②建立连接对象;③创建语句对象;④获得结果集;⑤关闭有关连接对象。 使用数据源访问数据库的步骤是:①配置数据源(局部数据源或全局数据源);②通过JNDI机制查找命名数据源;③通过数据源对象创建连接对象;④其他与传统方法一致。 三、实验内容与步骤 (一)使用传统方法通过JSP页面访问数据库 【步骤1】创建数据库。假设在PostgreSQL建立了一个名为bookstore的数据库,在其中建立books表,代码如下: CREATE TABLE books ( bookid character(5) PRIMARY KEY, --书号 title varchar2(80), --书名 author character varying(20), --作者 publisher character varying (40), --出版社 price real --价格 ); 向books表中插入几条记录,代码如下: INSERT INTO books V ALUES ('204','Head First Servlets & JSP', 'Bryan Basham', '中国电力出版社',98.00); INSERT INTO books V ALUES ('201', 'Servlets 与JSP 核心教程', 'Hall Marty','清华大学出版社',45); INSERT INTO books V ALUES ('202', 'Tomcat与Java Web 开发技术祥解', '孙卫琴', '机械工业出版社',45); INSERT INTO books V ALUES ('203', 'JSP 应用开发技术', '柳永坡','人民邮电出版社',52); INSERT INTO books V ALUES ('205', 'J2EE 1.4 编程指南', 'Spielman Sue','电子工业出版社',68); 注意:需要将数据库的JDBC驱动程序安装到应用程序的WEB-INF\lib目录中。 【步骤2】使用下面JSP页面displayBooks.jsp访问books表中的数据。 <%@ page contentType="text/html; charset=gb2312" %> <%@ page import="java.sql.*"%> Database Access Test

java连接到各种数据库的方法

此文中的代码主要列出连接数据库的关键代码,其他访问数据库代码省略 1、Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID String user="test"; String password="test"; Connection conn= DriverManager.getConnection(url,user,password); 2、DB2数据库 Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名 String user="admin"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); 3、Sql Server7.0/2000数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance (); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; //mydb为数据库 String user="sa"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); 4、Sybase数据库 Class.forName("com.sybase.jdbc.SybDriver").newInstance(); String url =" jdbc:sybase:Tds:localhost:5007/myDB"; //myDB为你的数据库名 Properties sysProps = System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn= DriverManager.getConnection(url, SysProps); 5、Informix数据库 Class.forName("https://www.doczj.com/doc/c713938540.html,rmix.jdbc.IfxDriver").newInstance(); String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword"; //myDB为数据库名 Connection conn= DriverManager.getConnection(url);

java数据库连接JDBC和MVC

1 JDBCutil.java package www.chinasofiti.eex.jdbcutil; import java.sql.Connection; import java.sql.DriverManager; public class JDBCutil { public static final String DRIVER = "oracle.jdbc.driver.OracleDriver"; public static final String URL="jdbc:oracle:thin:@192.168.80.49:1521:XE"; public static final String USER="SCOTT"; public static final String PASSWORD="TIGER"; public static Connection conn; public JDBCutil(){ } public static Connection getConnection() throws Exception{ Class.forName(DRIVER);//加载驱动 conn=DriverManager.getConnection(URL,USER,PASSWORD);//链接数据库 System.out.println(conn); System.out.println("数据库链接成功"); return conn; } // public static void main(String[]args){ // try { // getConnection(); // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace();

jdbc连接数据库流程步骤

JDBC连接数据库 ?创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过https://www.doczj.com/doc/c713938540.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() ; } 4、创建一个Statement

完整java连接数据库步骤

完整java开发中JDBC连接数据库代码和步骤 JDBC连接数据库 ?创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过https://www.doczj.com/doc/c713938540.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与mysql数据库连接

Java连接mysql数据库攻略 一.软件下载 Mysql 下载版本:4.1.11 https://www.doczj.com/doc/c713938540.html,/downloads/mysql/4.1.html JDBC驱动 下载版本:3.1.8 https://www.doczj.com/doc/c713938540.html,/downloads/connector/j/3.1.html Mysql界面插件:mysql-front 下载版本镜像:HongKong(我下回来安装就是中文版了) http://www.mysqlfront.de/download.html 二.软件安装 打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面:

mysql安装向导启动,按“Next”继续

选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom (用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程 在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server (mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation (文档)”也如此操作,以保证安装所有文件。点选“Change...”,手动指定安装目录。

数据库实验 JDBC连接数据库

大连海事大学 数据库原理课程实验报告(2010-2011学年第二学期) 实验八 JDBC连接数据库 班级:智能一班 学号:********** 姓名:徐维坚 指导教师:*** 成绩: 2012年6月13日

目录 1 实验目的 (3) 2 实验内容 (3) 2.1 使用JDBC连接DBMS (3) 2.2使用JDBC查询TPC-H数据库 (3) 2.3使用JDBC更新TPC-H数据库 (3) 3 实验要求 (3) 4 实验步骤 (3) 4.1 使用JDBC连接DBMS (4) 4.2使用JDBC查询TPC-H数据库 (5) 4.3使用JDBC更新TPC-H数据库 (6) 5 总结与体会 (8) 5.1 实验中出现的问题及其解决方案 (8) 5.2 总结 (8) 5.3 体会 (8)

1实验目的 (1)了解DBMS各种语言接口的编程方法。 (2)掌握JDBC连接DBMS进行数据库应用开发的基本方法。 2实验内容 2.1 使用JDBC连接DBMS (1)建立数据库连接。 (2)删除数据库连接。 2.2使用JDBC查询TPC-H数据库 (3)查找单个表的数据。 (4)查找多表的数据。 2.3使用JDBC更新TPC-H数据库 (5)插入记录。 (6)更新记录 (7)删除记录 3实验要求 (1)通过联机帮助或者网络查找JDBC连接数据库进行应用开发的基本方法。 (2)针对TPCH数据库模式设计JA V A程序实现各种数据库操作,调试程序,并截图相应的实验结果,每幅截图并要有较为详细的描述。 (3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。(4)思考题:JDBC连接数据库进行应用开发的基本方法是什么? 4实验步骤 本次试验需要引入以下几个接口: 定义一个主类:public class JDBC_TPCH 。它有一个成员变量:public Connection con;

JDBC连接数据库代码示例

一:获取连接数据库对象的类: package com.JDBC; /* * 加载mysql 驱动: * 1:在工程下面新建文件夹lib; * 2:把mysql的驱动文件拷贝到此文件夹下面 * 3:右击工程名,选择最下面的“首选项”,选择“Java Builde Path”;Libraries----Add JARs---"选择mysql的驱动文件"进行加载 */ /* * 数据库的连接操作,主要是通过包含在Java API包下的Class类中 * 的forName()进行。通过Class.forName()来加载驱动程序 */ 示例1: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Tmp0 { public static void main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/db","root",""); Statement st=conn.createStatement(); st.execute("set names 'utf8'"); st.executeUpdate("insert into hh values('王英','67892')"); ResultSet rs=st.executeQuery("select * from student"); while(rs.next()){ System.out.println(rs.getString("name")); System.out.println(rs.getString("pass")); } } } 2 import java.io.UnsupportedEncodingException; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.mysql.jdbc.Connection; public class DataBase {

JDBC连接数据库的步骤

JDBC连接数据库的步骤 JAVA连接数据库的方式有多种,根据所需要的不同数据库驱动分,分为四种: 1:1类驱动。这就是JDBC-ODBC桥的方式。但这种方式不适合程序的重用与维护,不推荐使用。需要数据库的ODBC驱动。 2:2类驱动。这就是JDBC+厂商API的形式。厂商API一般使用C编写,所以,这种方式也不长使用。 3:3类驱动。这就是JDBC+厂商Database Connection Server+DataBase的形式。这种方法就是在JAVA 与 DATABASE之间价起了一台专门用与数据库连接的服务器(一般由数据库厂商提供)。他的好处在于能优化连接。 4:4类驱动。这就是纯JDBC+DATABASE的连接方式。也是推荐的连接方式。这使得APPLICATION与数据库分开,开发者只需关心内部逻辑的实现而不需注重数据库连接的具体实现。在这其中有两种连接的方式:硬编码方式,就是在程序中硬性编入数据库连接的所须参数;JNDI DataSource方式,就是在程序运行的外布环境中又称(Context)设置一个datasource数据源,有一个jndi 名称,程序只须查找此名称就可得到一个数据库连接的对象。 JDBC连接数据库 - 创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过https://www.doczj.com/doc/c713938540.html,ng.Class类的静态方法forName(String className)实现。例如: try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; //加载oracle驱动 Class.forName("oracle.jdbc.driver.Oracle Driver"); //加载sqlserver驱动

使用JDBC连接Oracle数据库

import java.sql.*; public class JDBCConn{ private String url=""; private String username=""; private String password=""; /** *
方法说明:获得数据连接 *
输入参数: *
返回类型:Connection 连接对象 */ public Connection conn(){ try { //加载JDBC驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //创建数据库连接 Connection con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "test", "test"); return con; }catch(ClassNotFoundException cnf){ System.out.println("driver not find:"+cnf); return null; }catch(SQLException sqle){ System.out.println("can't connection db:"+sqle); return null; } catch (Exception e) { System.out.println("Failed to load JDBC/ODBC driver."); return null; } } /** *
方法说明:执行查询SQL语句 *
输入参数:Connection con 数据库连接 *
输入参数:String sql 要执行的SQL语句 *
返回类型: */ public void query(Connection con, String sql){ try{ if(con==null){ throw new Exception("database connection can't use!"); } if(sql==null) throw new Exception("check your parameter: 'sql'! don't input null!"); //声明语句 Statement stmt = con.createStatement(); //执行查询

JSP实验报告-使用JDBC实现数据库连接

广州中医药大学医学信息工程学院 实验报告 课程名称:网络数据库编程 专业班级:计算机科学与技术(2010)级 学生学号:2010081126 学生姓名:吕吕 实验名称: 实验成绩: 课程类别:必修□限选 公选□其它□

实验三使用JDBC实现数据库连接 实验类型:应用性实验实验日期: 2013.03.20 [实验目的要求] 通过教学,使学生掌握使用JDBC连接到数据库的方法(如通过JDBC-ODBC 桥或Pure Java Driver),能使用网页表单实现网页与数据库的交互。 [实验内容及步骤] 1、在数据库SQL SERVER中创建一个数据库JDBCTEST,并创建表 student_info,并设定字段,输入内容。 2、使用JDBC-ODBC实现数据库连接 a)打开“控制面板”的“管理工具”的“数据源(ODBC)” b)建立数据源 c)选“系统数据源”,连接SQL SERVER数据库 d)测试是否连接成功 e)通过以下类Class、DriverManager、Connection(连接数据库用到的类), 及Statement、ResultSet(访问数据库用到的类)编写代码实现表 student_info数据的查询。 f)查询结果在页面中显示。 3、使用Pure Java Driver实现数据库连接(本题可以做可以不做) a)安装sql-jdbc,如装在D盘 b)设置环境变量classpath,添加D:\sqljdbc\msbase.jar; D:\sqljdbc\msutil.jar; D:\sqljdbc\mssqlserver.jar; c)设SQL SERVER数据库用Windows和数据库混合身分验证的方式。 d)通过以下类Class、DriverManager、Connection(连接数据库用到的类), 及Statement、ResultSet(访问数据库用到的类)编写代码实现表 student_info数据的查询。 e)查询结果在页面中显示。 4、通过表单传递数据,实现数据库的插入、删除与更新操作,并显示插入结果。 5、熟悉JSP中各种常用的内建对象如request对象、session对象、application对 象的使用。 6、熟悉各种表单的处理的方法:如选择按钮的使用、多选方块的使用、群组检 查的使用、隐藏栏位的使用、在客户端进行数据检查 7、试利用上述知识实现一个留言板系统。 以下需要同学们贴上第7题经调试好代码: 数据库对应的表1 答:本人在MySql数据库中建立了数据库jsp-experiment,再建立两个表,一

JDBC连接数据库步骤

1.JDBC连接数据库 2.?创建一个以JDBC连接数据库的程序,包含7个步骤: 3.1、加载JDBC驱动程序: 4.在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 5.这通过https://www.doczj.com/doc/c713938540.html,ng.Class类的静态方法forName(String className)实现。 6.例如: 7.try{ 8.//加载MySql的驱动类 9. Class.forName("com.mysql.jdbc.Driver") ; 10. }catch(ClassNotFoundException e){ 11. System.out.println("找不到驱动程序类,加载驱动失败!"); 12. e.printStackTrace() ; 13. } 14.成功加载后,会将Driver类的实例注册到DriverManager类中。 15.2、提供JDBC连接的URL 16.?连接URL定义了连接数据库时的协议、子协议、数据源标识。 17.?书写形式:协议:子协议:数据源标识 18.协议:在JDBC中总是以jdbc开始 19.子协议:是桥连接的驱动程序或是数据库管理系统名称。 20.数据源标识:标记找到数据库来源的地址与连接端口。 21.例如:(MySql的连接URL) 22. jdbc:mysql: 23.//localhost:3306/test?useUnicode=true&characterEncoding=gbk ; 24. useUnicode=true:表示使用Unicode字符集。如果characterEncoding设 置为 25. gb2312或GBK,本参数必须设置为true。characterEncoding=gbk:字符 编码方式。

JDBC连接MySQL数据库及示例

JDBC连接MySQL数据库及示例 JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。 一、JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。 1、跨平台运行:这是继承了Java语言的“一次编译,到处运行”的特点; 2、不受数据库供应商的限制:巧妙在于JDBC设有两种接口,一个是面向应用程序层,其作用是使得开发人员通过 SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。应用程序只需要编写一次,便可以移到各种驱动程序上运行。Sun提供了一个驱动管理器,数据库供应商——如 MySQL、Oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以JDBC不受数据库供应商的限制。 JDBC API可以作为连接Java应用程序与各种关系数据库的纽带,在带来方便的同时也有负面影响,以下是JDBC的优、缺点。优点如下: ?操作便捷:JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数; ?可移植性强:JDBC支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可; ?通用性好:JDBC-ODBC桥接驱动器将JDBC函数换成ODBC; ?面向对象:可以将常用的JDBC数据库连接封装成一个类,在使用的时候直接调用即可。 缺点如下: ?访问数据记录的速度受到一定程度的影响; ?更改数据源困难:JDBC可支持多种数据库,各种数据库之间的操作必有不同,这就给更改数据源带来了很大的麻烦

相关主题
文本预览
相关文档 最新文档