第八章数据库编程(netbeans版)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JDBC访问数据库层次结构
32
8.1.3 下载安装MySQL的JDBC驱动
• 下载

• 配置到应用服务器Glassfish的lib目录下
http://dev.mysql.com/get/Downloads/Connector-J/mysqlconnector-java-3.1.14.zip/from/http://mysql.he.net/
下载后,将压缩包内的mysql-connector-java-3.1.14-bin.jar拷 贝到服务器JVM可以访问到的目录下,即服务器的lib目录下(目前 是C:\apache-tomcat-6.0.26\lib)
33
JDBC API
• 包括两个包 • java.sql:基本的数据库编程功能,如生成连接,
37
(6) public boolean getAutoCommit( )throws SQLException方法,用来获取 Connection类对象的Auto_Commit(自动提交)状态。 (7) public void setAutoCommit(boolean autoCommit)throws SQLException 方法,用来设定Connection类对象的Auto_Commit(自动提交)状态。如果将 Connection类对象的autoCommit设置为true,则它的每一个SQL语句将作为一 个独立的事务被执行和提交。 (8) public void rollback( )throws SQLException方法,用来取消对数据库 执行过的添加、删除或修改记录(Record)等操作,将数据库恢复到执行这些
执行语句以及准备语句和运行批处理查询等,还包 括批处理更新、事务隔离和可滚动结果集等高级处 理。 • javax.sql:提供数据库方面的高级操作,如为连 接管理、分布式事务和旧有的连接提供更好的抽象, 引入了容器管理的连接池、分布式事务和行集 (RowSet)等。
34
java.sql包中的类和接口
Connection getConnection(String url,String user,String password)
PrintStream getLogStream()获取日志 void println(String message)写JDBC日志
36
Connection类
java.sql.Connection类负责建立与指定数据库的连接。常用成员方法如下: (1) public Statement createStatement( )throws SQLException 用来创建Statement类对象。 (2) public Statement createStatement(int resultSetType, int resultSetConcurrecy)throws SQLException方法, 用来按指定的参数创建Statement类对象。 (3) public DatabaseMetaData getMetaData( )throws SQLException 用来创建DatabaseMetaData对象。不同数据库系统拥有不同的特性, DatabaseMetaData类不但可以保存数据库的所有特性,并且还提供一系列成员方 法获取数据库的特性,如取得数据库名称、JDBC驱动程序名、版本代号及连接 数据库的JDBC URL。 (4) public PreparedStatement prepareStatement (String sql)throws SQLException 用来创建PreparedStatement类对象。关于该类对象的特性在后面介绍。 (5) public void commit( )throws SQLException 用来提交对数据库执行添加、删除或修改记录(Record)的操作。
南湖路新民小区8栋 苜蓿园大街5号
字段类型 varchar(6)
4867543 5467823
D 顾客id E 主键非空
address
phone
varchar(30)
varchar(20)
顾客地址
顾客电话
20
b)编辑表:点击customer—>edit table
• 双击字段的编辑框
21
• 然后观察右侧出现:mysql库下出现customer表
• 1.打开:程序MySQLMySQL Browser

或托盘右键MySQL Brower
返回
18
a)创建表customer
点右侧导航栏,选mysql库右键Create new Table
19
customerid
address
phone
C1
北京西路2号
4532989
C2 C3
字段名 customerid
22
C)插入记录
• • •
点状态栏中的edit 在编辑区右键Add row,然后点击相应的字段编辑框,直接可以 输入记录(英文数据)——目前不支持中文,中文处理见下页 点状态栏apply change即提交
返回
23
5)配置MySQL 支持中文字段
【错误】mysql数据库无法录入中文数据 【原因】因为mySQL缺省语言是latin1 【修改】MySQL Administratorstartup variable def.char set 填成 gbk
25
支持中文(续)
3.改完这些之后,只要把html、jsp页面上的编码方式都设置为gbk或 gb2312
input.html中 <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head>
接受参数的jsp中 <%@ page pageEncoding=“gb2312”%> 确保jsp显示支持中文 <%request.setCharacterEncoding(“gb2312”);%>获得录入界面传进的 参数确保支持中文 ————这样在jsp中显示MySQL没有问题了,但是从jdbc向MySQL 录入或传递中文参数还有问题 4.在使用jdbc的jsp页面中连接数据库的URL中声明中文编码,如下,这样才能支持 从jdbc传往MySQL的中文参数
班级表
系名 计算机系 专业名称 软件工程 班级名称 0901
3
班号
8.1 搭建JDBC开发环境
8.1.1安装MySQL数据库
8.1.2 JDBC简介
8.1.3 下载安装MySQL的JDBC驱动
4
8.1.1安装MySQL数据库
1)下载&安装 2) 打开MySQL的托盘程序—出现在任务栏 【开始】-【程序】-MySQLMySQLSystemTrayMonitor 3)启动MySQL服务器 4) 建表、插入、查询——打开MySQL query browser 5)更改配置文件my.ini——支持中文
6
返回
7
3)启动MySQL服务器
[法1]MySQL托盘右键start Instance
【法2】使用MySQL Administrator 开始程序MySQL MySQL Administrator


用户名root 密码 javaee
新建连接名为MySQL connection (其实就是新建了一个database,名为mysql,
2.下载MySQL的官方管理工具
mysql-gui-tools-5.0-r12-win32.msi
3.下载安装MySQL的JDBC驱动,并将其配置到服务器的lib下
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connectorjava-3.1.14.zip/from/http://mysql.he.net/ 下载后,将压缩包内的mysql-connector-java-3.1.14-bin.jar拷贝到服务器 JVM可以访问到的目录下,即服务器的lib目录下C:\Program Files\glassfish-3.0.1\glassfish\lib (目前是)
作为特定厂商数据库访问API的一种高级抽象,它主要包含一些通用 的接口类。真正的数据库访问操作实现是由各自数据库厂商提供的。

在实际运行过程中程序代码通过JDBC访问数据库时,仍旧需要调用特定 于数据库的访问API!
31
应用层
程序员开发
J2EE 应用
JDBC 接口层
Sun
JDBC API
数据库 JDBC 驱动程序 JDBC 驱动层 数据库厂商 数据库
String conURL="jdbc:mysql://localhost:3306/mysql?useUnicode=true&charac terEncoding=GBK";
例子见幻灯片 44
26
设计字段时,选gbk字符集
27
• • • •
点状态栏中的edit,双击字段, 将beijing改为北京, 再新增其它行记录 然后applychanged
这个设置的是MYSQL自带的命令行显示和输入的
[mysqld]
default-character-set=gbk
这个设置决定MySQL的工作环境的字符集!数据库继承MySQL设置的字符 集,而表则继承数据库的字符集,字段则继承表的字符集!所以这里设 置很重要! 2. 在设计字段时,选gbk字符集,否则往mySQL中还是输入汉字错误 ————以上往MySQL录入中文没有问题了
新 建连接
8
新建连接
9
启动——连接
10
进入MySQL Administrator配置管理
• 在MySQL管理台,可以停止服务、管理、看到
MySQL数据库服务器的端口、协议、所在机器的 IP地址等等
返回
11
12
13
14
15
backup
16
Restore
17
4) 建表、插入、查询——打开MySQL query browser
24
上页等价于更改配置文件my.ini——支持中文
【错误】mysql数据库无法录入中文数据 【原因】因为mySQL缺省语言是latin1 【修改】 C:\Program Files\MySQL\MySQL Server 5.0\my.ini 1. my.ini中客户端和服务器端默认的字符编码 [client]后面加上这句( 客户端) default-character-set=gbk [mysql] (服务器端) default-character-set=gbk
返回
5
1)下载&安装MySQL和JDBC
1.下载MySQL50.45
http://202.206.223.108/downinfo/277.html mysql-5.0.45-win32.zip 一路缺省安装 安装并配置MySQL——可以在安装时配置,也可以重新配置 如:记得设root的口令,比如我设的javaee 端口号,缺省为3306
ห้องสมุดไป่ตู้
35
DriverManage类
DriverManage类以下函数均为public和static的, 均抛出SQLException
public static synchronized
Connetion Driver void int
getConnection(String URL)throws SQLException 创建数据库连接 getDriver(String url) 从注册的JDBC驱动中选择一个驱动程序 deregisterDriver(Driverdriver)删除指定驱动 getLoginTimeout()获取连接数据库时驱动可以等待的最大时间
第八章 数据库JDBC编程
第八章 JDBC编程
8.1 搭建JDBC开发环境
8.2-3 数据库编程 8.4 执行带参数的SQL语句 8.5 基于连接池和数据源的访问数据库
8.6 BLOG字段的处理 8.6 分页显示
2
引子——数据库
在关系型数据库中,数据以记录(Record)和字段(Field)的形式存储在数据表 (Table)中,由若干个数据表构成一个数据库
28
• 数据库建好了,我们怎么在程序中访问它呢?
29
30
8.1.2 JDBC简介
• JDBC 为多种关系数据库提供了统一访问方式

• 数据库JDBC驱动程序:厂商提供的特定于数据库的
访问API • JDBC通过提供一个抽象的数据库接口,使得程序 开发人员在编程时可以不用绑定在特定数据库厂商 的API上,大大增加了应用程序的可移植性。
相关文档
最新文档