欢迎来到天天文库
浏览记录
ID:36209514
大小:716.00 KB
页数:34页
时间:2019-05-07
《java程序设计-15-访问数据库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java程序设计第15章访问数据库学习目标了解JDBC发展历史能够用不同的方式建立到数据库的连接利用Statement访问数据能够在对象和数据库的记录之间进行转换,了解ORM技术掌握批量更新能够调用存储过程了解连接池技术15.1.1什么是JDBCJDBC(JavaDatabaseConnectivity)一种用于执行SQL语句,和数据库进行交互的技术,它由一组用Java编程语言编写的类和接口组成。JDBC的历史JDBC1.XAPI规范遵循的是SQL2/SQL92标准,对它的支持的类都定义在java.sql包中。JDBC
2、2.0规范发布时,增加了对SQL3的支持,并且重点扩展了在应用服务器端访问数据库的功能,相关扩展的类包含在javax.sql中。目前JDBC已经发布了4.0的版本,其重要的变化集中在丰富的数据类型、元数据的支持、支持标注和应用服务器端编程的特性如数据源、连接池、分布式的事务等。15.1.2JDBC驱动程序类型JDBC-ODBC桥加ODBC驱动程序必须提供ODBC驱动程序本地API-部分用Java来编写的驱动程序一种用Java实现的,替代JDBC-ODBC桥产品的驱动程序JDBC网络纯Java驱动程序一种和具体数据库无关
3、的驱动程序。本地协议纯Java驱动程序一种支持将JDBC调用直接转换为某个具体DBMS的驱动程序,通常由数据库厂家提供,实践中常用15.2基本的数据库存取过程实现简单的数据库存取操作是一件很轻松的事情。实现基本的数据存取操作包括三个步骤:连接到数据库存取数据关闭连接。连接到数据库连接到数据库需要由驱动程序的支持,在保证已经将驱动程序文件复制到可被运行环境搜索到的位置后,开发对数据库进行存取操作的第一步是建立到指定数据库的连接,这一过程可以细分为两个操作:加载指定的驱动程序(可选)获得到指定数据库的连接publiccla
4、ssSqlServerDemo{publicstaticvoidmain(String[]args){Stringurl="jdbc:sqlserver://localhost:1433;databaseName=bank;user=sa;password=123456;";Connectioncon=null;try{con=DriverManager.getConnection(url);//获得到数据库的连接//获得连接数据库的元数据对象metaDataDatabaseMetaDatametaData=con.g
5、etMetaData();//输出连接数据库的产品名称System.out.println(metaData.getDatabaseProductName());//输出连接数据库的产品版本号System.out.println(metaData.getDatabaseProductVersion());con.close();//关闭到数据库的连接,释放资源}catch(SQLExceptione){e.printStackTrace();}}}1.加载驱动程序(可选)检查数据库厂商提供的JDBC驱动程序,可以在对应
6、的位置发现其提供的驱动程序类。通过调用方法Class.forName(),将显式地加载驱动程序类。加载SQLServer驱动程序类Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");加载Oracle驱动程序类Class.forName("oracle.thin.Driver");Class.forName("oracle.jdbc.driver.OracleDriver");加载MySQL驱动程序类Class.forName("org.gjt.mm
7、.mysql.Driver");2建立连接加载Driver类之后,应用程序还需显式的获得到数据库的一个连接。当调用DriverManager.getConnection()方法发出连接请求时,DriverManager将检查每个驱动程序,查看它是否可以建立连接。该方法的返回值类型是Connection。表15-1DriverManager方法描述staticvoidderegisterDriver(Driverdriver)从DriverManager的列表中删除一个驱动程序staticConnectiongetCon
8、nection(Stringurl)试图建立到给定数据库URL的连接staticConnectiongetConnection(Stringurl,Propertiesinfo)试图建立到给定数据库URL的连接staticConnectiongetConnection(Stringurl,Stringuser,Stringpass
此文档下载收益归作者所有