《跟我学Java JDBC数据库访问操作技术——应用Java JDBC实现连接数据库系统的应用实例(第1部分).doc》由会员分享,可在线阅读,更多相关《跟我学Java JDBC数据库访问操作技术——应用Java JDBC实现连接数据库系统的应用实例(第1部分).doc(15页珍藏版)》请在三一文库上搜索。
1、1.1 应用Java JDBC实现连接数据库系统的应用实例(第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 方法时,Driver
2、Manager 会试着从初始化时加载的那些驱动程序类。1.1.2 连接MySQL数据库系统的应用实例1、了解目标数据库系统的驱动程序类名称和数据源的URL(1)MySQL 数据库系统的驱动程序类名称:(2) 了解目标数据库系统数据源的URLMySQL 数据库系统为:jdbc:mysql:/localhost:3306/webbank2、了解数据库访问编程实现的程序结构(1)连接数据库系统-设计一个连接数据库程序类(2)访问数据库增、删、改、查(CRUD)DAO(Data Access Object,数据访问对象)类一般采用针对不同的数据库表采用不同的DAO功能实现类。(3)持久实体类(PO)包
3、装数据库表中的各个记录及其中的各个字段(4)面向接口编程实现“两个类之间进行连接,应该要通过接口实现”接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。针对连接数据库系统提供一个接口,同时也针对不同的DAO组件也提供对应的接口。3、为 WebBank提供一个数据库连接类程序(1)数据库连接的接口接口体现功能要求做什么(2)数据库连接接口的实现类实现类体现具体的功能实现的方法及手段如何做4、在项目中增加一个数据库连接的接口(1)接口名称为ConnectDBInterface,包名称为(2)在接口中应该要提供什么方法应该如何进行抽象完成连接数据库的功能、关闭数据库连接、检
4、测数据库连接的状态。public interface ConnectDBInterface public Connection getConnection();public void closeDBCon()throws WebBankException;public boolean isConnectionValid();也可以讲该接口设计为如下的形式:public interface ConnectDBInterface /* * 设计该接口(抽象描述功能要求)包括哪些方法(功能) * (1)连接数据库 * (2)关闭数据库连接 * (3)识别或者判断当前的数据库连接是否正确 */publ
5、ic Connection connectToDataBase();public void closeDataBaseConnection();public boolean testCurrentConnectionIsOK();5、在项目中为该接口提供对应的实现类同一个接口可以提供多个不同的实现类(1)提供一个MySQLConnectDBBean,包名称为(2)MySQLConnectDBBean类的程序代码示例public class MySQLConnectDBBean implements ConnectDBInterface String JDBC_DSN_URL=jdbc:mysq
6、l:/localhost:3306/webbank;String JDBC_dbUserName=root;String JDBC_dbUserPassWord=root;Connection oneConnection=null;public MySQLConnectDBBean() throws WebBankExceptiontry Class.forName(JDBC_DBDriver_ClassName); catch (ClassNotFoundException e) throw new WebBankException(不能正确地加载JDBC驱动程序);try oneConne
7、ction=DriverManager.getConnection(JDBC_DSN_URL, JDBC_dbUserName, JDBC_dbUserPassWord); catch (SQLException e)throw new WebBankException(不能正确地连接数据库并且出现SQLException-可能是数据库服务器没有启动);public void closeDBCon() throws WebBankException if(oneConnection=null) /已经关闭过吗return;try oneConnection.close(); catch (SQ
8、LException e) throw new WebBankException(不能正确地关闭数据库连接);oneConnection=null;public Connection getConnection() return oneConnection;public boolean isConnectionValid() if(oneConnection!=null)return true;elsereturn false;/ return (oneConnection=null)?false:true;(3)ConnectDBInterface 接口的另一个实现类MySQLDataBas
9、eConnect类的程序代码示例:public class MySQLDataBaseConnect implements ConnectDBInterface String db_URL=jdbc:mysql:/localhost:3306/courseDB;String userName=root;String passWord=root; Connection jdbcConnect=null;public MySQLDataBaseConnect() /* * (1)加载对应的JDBC的数据库驱动程序类 */try Class.forName(jdbc_drive); catch (C
10、lassNotFoundException e) e.printStackTrace();Overridepublic void closeDataBaseConnection() try jdbcConnect.close(); catch (SQLException e) e.printStackTrace();Overridepublic Connection connectToDataBase() /* * (2)连接目标数据库文件 */try jdbcConnect=DriverManager.getConnection(db_URL, userName, passWord); ca
11、tch (SQLException e) e.printStackTrace();/* * 将所构建出的JDBC的数据库连接对象返回 */return jdbcConnect;Overridepublic boolean testCurrentConnectionIsOK() /* * 识别当前的数据库连接对象是否正确地构建出 */if(jdbcConnect=null)return false;elsereturn true;(4)再提供一个OracleConnectDBBean类以实现对Oracle数据库系统的数据库连接public class OracleConnectDBBean im
12、plements ConnectDBInterface String JDBC_DSN_URL=jdbc:oracle:thin:localhost:1521:webbank;String JDBC_dbUserName=root;String JDBC_dbUserPassWord=root;Connection oneConnection=null;public OracleConnectDBBean() throws WebBankExceptiontry Class.forName(JDBC_DBDriver_ClassName); catch (ClassNotFoundExcept
13、ion e) throw new WebBankException(不能正确地加载JDBC驱动程序);try oneConnection=DriverManager.getConnection(JDBC_DSN_URL, JDBC_dbUserName, JDBC_dbUserPassWord); catch (SQLException e)throw new WebBankException(不能正确地连接数据库并且出现SQLException-可能是数据库服务器没有启动);public void closeDBCon() throws WebBankExceptiontry oneConn
14、ection.close(); catch (SQLException e) throw new WebBankException(不能正确地关闭数据库连接);public Connection getConnection() return oneConnection;public boolean isConnectionValid() if(oneConnection!=null)return true;elsereturn false;(5)再提供一个MSSQLServerConnectDBBean类以实现对MS SQLServer数据库系统的数据库连接public class MSSQL
15、ServerConnectDBBean implements ConnectDBInterface String JDBC_DSN_URL=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=webbank;String JDBC_dbUserName=root;String JDBC_dbUserPassWord=root;Connection oneConnection=null;public MSSQLServerConnectDBBean() throws WebBankExceptiontry Class.forName(JDB
16、C_DBDriver_ClassName); catch (ClassNotFoundException e) throw new WebBankException(不能正确地加载JDBC驱动程序);try oneConnection=DriverManager.getConnection(JDBC_DSN_URL, JDBC_dbUserName, JDBC_dbUserPassWord); catch (SQLException e)throw new WebBankException(不能正确地连接数据库并且出现SQLException-可能是数据库服务器没有启动);public void closeDBCon() throws WebBankExceptiontry oneConnection.close(); catch (SQLException e) throw new WebBankException(不能正确地关闭数据库连接);public Connection getConnection() return oneConnection;public boolean isConnectionValid() if(oneConnection!=null)return true;elsereturn false;