跟我学Java JDBC数据库访问操作技术应用Java JDBC实现连接数据库系统的应用实例第1部分.docx
- 文档编号:13620677
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:16
- 大小:214.81KB
跟我学Java JDBC数据库访问操作技术应用Java JDBC实现连接数据库系统的应用实例第1部分.docx
《跟我学Java JDBC数据库访问操作技术应用Java JDBC实现连接数据库系统的应用实例第1部分.docx》由会员分享,可在线阅读,更多相关《跟我学Java JDBC数据库访问操作技术应用Java JDBC实现连接数据库系统的应用实例第1部分.docx(16页珍藏版)》请在冰点文库上搜索。
跟我学JavaJDBC数据库访问操作技术应用JavaJDBC实现连接数据库系统的应用实例第1部分
1.1应用JavaJDBC实现连接数据库系统的应用实例(第1部分)
1.1.1了解与JDBC有关的各个接口
1、了解Statement接口——它包装SQL语句、并且执行SQL语句
Statement接口代表“静态”的SQL语句
2、了解PreparedStatement接口
PreparedStatement接口代表“动态”的SQL语句
3、了解CallableStatement接口——代表“存储过程”的SQL语句
4、了解Connection接口
5、了解ResultSet接口
6、了解ResultSetMetaData接口
7、DriverManager类
在调用getConnection方法时,DriverManager会试着从初始化时加载的那些驱动程序类。
1.1.2连接MySQL数据库系统的应用实例
1、了解目标数据库系统的驱动程序类名称和数据源的URL
(1)MySQL数据库系统的驱动程序类名称:
com.mysql.jdbc.Driver
(2)了解目标数据库系统数据源的URL
MySQL数据库系统为:
jdbc:
mysql:
//localhost:
3306/webbank
2、了解数据库访问编程实现的程序结构
(1)连接数据库系统----设计一个连接数据库程序类
(2)访问数据库——增、删、改、查(CRUD)——DAO(DataAccessObject,数据访问对象)类
一般采用针对不同的数据库表采用不同的DAO功能实现类。
(3)持久实体类(PO)——包装数据库表中的各个记录及其中的各个字段
(4)面向接口编程实现
“两个类之间进行连接,应该要通过接口实现”——接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。
针对连接数据库系统提供一个接口,同时也针对不同的DAO组件也提供对应的接口。
3、为WebBank提供一个数据库连接类程序
(1)数据库连接的接口
接口体现功能要求——做什么
(2)数据库连接接口的实现类
实现类体现具体的功能实现的方法及手段——如何做
4、在项目中增加一个数据库连接的接口
(1)接口名称为ConnectDBInterface,包名称为com.px1987.webbank.dao.inter
(2)在接口中应该要提供什么方法——应该如何进行抽象
完成连接数据库的功能、关闭数据库连接、检测数据库连接的状态。
。
。
packagecom.px1987.webbank.dao.inter;
importjava.sql.Connection;
importcom.px1987.webbank.exception.WebBankException;
publicinterfaceConnectDBInterface{
publicConnectiongetConnection();
publicvoidcloseDBCon()throwsWebBankException;
publicbooleanisConnectionValid();
}
也可以讲该接口设计为如下的形式:
packagecom.px1987.course.dao.inter;
importjava.sql.*;
publicinterfaceConnectDBInterface{
/**
*设计该接口(抽象描述——功能要求)——包括哪些方法(功能)
*
(1)连接数据库
*
(2)关闭数据库连接
*(3)识别或者判断当前的数据库连接是否正确
*/
publicConnectionconnectToDataBase();
publicvoidcloseDataBaseConnection();
publicbooleantestCurrentConnectionIsOK();
}
5、在项目中为该接口提供对应的实现类——同一个接口可以提供多个不同的实现类
(1)提供一个MySQLConnectDBBean,包名称为com.px1987.webbank.dao.imple
(2)MySQLConnectDBBean类的程序代码示例
packagecom.px1987.webbank.dao.imple;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
importcom.px1987.webbank.dao.inter.ConnectDBInterface;
importcom.px1987.webbank.exception.WebBankException;
publicclassMySQLConnectDBBeanimplementsConnectDBInterface{
StringJDBC_DBDriver_ClassName="com.mysql.jdbc.Driver";
StringJDBC_DSN_URL="jdbc:
mysql:
//localhost:
3306/webbank";
StringJDBC_dbUserName="root";
StringJDBC_dbUserPassWord="root";
ConnectiononeConnection=null;
publicMySQLConnectDBBean()throwsWebBankException{
try{
Class.forName(JDBC_DBDriver_ClassName);
}catch(ClassNotFoundExceptione){
thrownewWebBankException("不能正确地加载JDBC驱动程序");
}
try{
oneConnection=DriverManager.getConnection(JDBC_DSN_URL,
JDBC_dbUserName,JDBC_dbUserPassWord);
}catch(SQLExceptione){
thrownewWebBankException("不能正确地连接数据库并且出现SQLException---可能是数据库服务器没有启动");
}
}
publicvoidcloseDBCon()throwsWebBankException{
if(oneConnection==null){//已经关闭过吗
return;
}
try{
oneConnection.close();
}catch(SQLExceptione){
thrownewWebBankException("不能正确地关闭数据库连接");
}
oneConnection=null;
}
publicConnectiongetConnection(){
returnoneConnection;
}
publicbooleanisConnectionValid(){
if(oneConnection!
=null){
returntrue;
}
else{
returnfalse;
}
//return(oneConnection==null)?
false:
true;
}
}
(3)ConnectDBInterface接口的另一个实现类MySQLDataBaseConnect类的程序代码示例:
packagecom.px1987.course.dao.imple;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
importcom.px1987.course.dao.inter.ConnectDBInterface;
publicclassMySQLDataBaseConnectimplementsConnectDBInterface{
Stringjdbc_drive="com.mysql.jdbc.Driver";
Stringdb_URL="jdbc:
mysql:
//localhost:
3306/courseDB";
StringuserName="root";
StringpassWord="root";
ConnectionjdbcConnect=null;
publicMySQLDataBaseConnect(){
/**
*
(1)加载对应的JDBC的数据库驱动程序类
*/
try{
Class.forName(jdbc_drive);
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
}
@Override
publicvoidcloseDataBaseConnection(){
try{
jdbcConnect.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
@Override
publicConnectionconnectToDataBase(){
/**
*
(2)连接目标数据库文件
*/
try{
jdbcConnect=DriverManager.getConnection(db_URL,userName,passWord);
}catch(SQLExceptione){
e.printStackTrace();
}
/**
*将所构建出的JDBC的数据库连接对象返回
*/
returnjdbcConnect;
}
@Override
publicbooleantestCurrentConnectionIsOK(){
/**
*识别当前的数据库连接对象是否正确地构建出
*/
if(jdbcConnect==null){
returnfalse;
}
else{
returntrue;
}
}
}
(4)再提供一个OracleConnectDBBean类以实现对Oracle数据库系统的数据库连接
packagecom.px1987.webbank.dao.imple;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
importcom.px1987.webbank.dao.inter.ConnectDBInterface;
importcom.px1987.webbank.exception.WebBankException;
publicclassOracleConnectDBBeanimplementsConnectDBInterface{
StringJDBC_DBDriver_ClassName="oracle.jdbc.driver.OracleDriver";
StringJDBC_DSN_URL="jdbc:
oracle:
thin:
@localhost:
1521:
webbank";
StringJDBC_dbUserName="root";
StringJDBC_dbUserPassWord="root";
ConnectiononeConnection=null;
publicOracleConnectDBBean()throwsWebBankException{
try{
Class.forName(JDBC_DBDriver_ClassName);
}catch(ClassNotFoundExceptione){
thrownewWebBankException("不能正确地加载JDBC驱动程序");
}
try{
oneConnection=DriverManager.getConnection(JDBC_DSN_URL,
JDBC_dbUserName,JDBC_dbUserPassWord);
}catch(SQLExceptione){
thrownewWebBankException("不能正确地连接数据库并且出现SQLException---可能是数据库服务器没有启动");
}
}
publicvoidcloseDBCon()throwsWebBankException{
try{
oneConnection.close();
}catch(SQLExceptione){
thrownewWebBankException("不能正确地关闭数据库连接");
}
}
publicConnectiongetConnection(){
returnoneConnection;
}
publicbooleanisConnectionValid(){
if(oneConnection!
=null){
returntrue;
}
else{
returnfalse;
}
}
}
(5)再提供一个MSSQLServerConnectDBBean类以实现对MSSQLServer数据库系统的数据库连接
packagecom.px1987.webbank.dao.imple;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
importcom.px1987.webbank.dao.inter.ConnectDBInterface;
importcom.px1987.webbank.exception.WebBankException;
publicclassMSSQLServerConnectDBBeanimplementsConnectDBInterface{
StringJDBC_DBDriver_ClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
StringJDBC_DSN_URL="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=webbank";
StringJDBC_dbUserName="root";
StringJDBC_dbUserPassWord="root";
ConnectiononeConnection=null;
publicMSSQLServerConnectDBBean()throwsWebBankException{
try{
Class.forName(JDBC_DBDriver_ClassName);
}catch(ClassNotFoundExceptione){
thrownewWebBankException("不能正确地加载JDBC驱动程序");
}
try{
oneConnection=DriverManager.getConnection(JDBC_DSN_URL,
JDBC_dbUserName,JDBC_dbUserPassWord);
}catch(SQLExceptione){
thrownewWebBankException("不能正确地连接数据库并且出现SQLException---可能是数据库服务器没有启动");
}
}
publicvoidcloseDBCon()throwsWebBankException{
try{
oneConnection.close();
}catch(SQLExceptione){
thrownewWebBankException("不能正确地关闭数据库连接");
}
}
publicConnectiongetConnection(){
returnoneConnection;
}
publicbooleanisConnectionValid(){
if(oneConnection!
=null){
returntrue;
}
else{
returnfalse;
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 跟我学Java JDBC数据库访问操作技术应用Java JDBC实现连接数据库系统的应用实例第1部分 Java JDBC 数据库 访问 操作 技术 应用 实现 连接 系统 实例 部分
链接地址:https://www.bingdoc.com/p-13620677.html