Java程序设计与实训 教学课件 ppt 作者 黄能耿 PPT电子教案 java-09

上传人:E**** 文档编号:89156244 上传时间:2019-05-19 格式:PPT 页数:27 大小:2.26MB
返回 下载 相关 举报
Java程序设计与实训 教学课件 ppt 作者 黄能耿 PPT电子教案 java-09_第1页
第1页 / 共27页
Java程序设计与实训 教学课件 ppt 作者 黄能耿 PPT电子教案 java-09_第2页
第2页 / 共27页
Java程序设计与实训 教学课件 ppt 作者 黄能耿 PPT电子教案 java-09_第3页
第3页 / 共27页
Java程序设计与实训 教学课件 ppt 作者 黄能耿 PPT电子教案 java-09_第4页
第4页 / 共27页
Java程序设计与实训 教学课件 ppt 作者 黄能耿 PPT电子教案 java-09_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《Java程序设计与实训 教学课件 ppt 作者 黄能耿 PPT电子教案 java-09》由会员分享,可在线阅读,更多相关《Java程序设计与实训 教学课件 ppt 作者 黄能耿 PPT电子教案 java-09(27页珍藏版)》请在金锄头文库上搜索。

1、程序设计,第9章 数据库编程,2,学习目标,理解JDBC概念 学会使用MySQL数据库 理解使用JDBC访问数据库的流程 了解用MVC框架进行数据库编程,3,重难点,重点 JDBC的概念 MySQL的使用 加载JDBC驱动程序 访问数据库 数据库编程的先进思想 难点 MySQL的使用 加载JDBC驱动程序 访问数据库的过程 连接工厂 POJO类 DAO害,4,目录,9.1 数据库编程概述,9.2 数据库访问流程,9.3 数据库编程,5,9.1 数据库编程概述,JDBC (Java Database Connection) Java程序连接和存取数据库的应用程序接口(API) JDBC为Java

2、数据库开发人员提供了一个标准的API 以一致的方式连接多种不同的数据库系统 JDBC的功能 建立与数据库的连接。 发送SQL语句到数据库系统中执行。 返回SQL查询语句的执行结果。 关闭与数据库的连接。 支持的数据库系统 所有关系型数据库系统 如商用的:Oracle, DB2, SQL Server 免费的:MySQL, PostgreSQL, HSQLDB, Derby,6,MySQL,MySQL的优点 跨平台 可以在Windows或Linux等平台下运行,这与Java语言的理念相吻合。 性能高 在较低配置的硬件上也能具有较高的性能。 功能适中 具有标准的关系型数据库管理系统的功能,满足Ja

3、va应用程序或JSP网站开发的需要。 稳定性好 经过大量用户的检验,技术成熟,稳定可靠。 Java与MySQL的组合是业界最普遍的做法,7,安装MySQL,安装MySQL服务器 从网站上下载 安装时注意 选择多国语言时要用utf8。 添加MySQL的安装目录到Path路径中,应该打上勾。 设置系统管理员(root)用户的密码,建议在开发阶段使用sa作为密码。 安装MySQL的JDBC驱动程序 从网站上下载“MySQL Connector/J” 文件名为mysql-connector-java-5.1.6.tar.gz 解压后使用其中的mysql-connector-java-5.1.6-bin

4、.jar文件,8,使用MySQL,图形界面 需安装MySQL-gui-tools,或第三方的phpMyAdmin、Navicat和MySQL-Front,选择其中之一 图形界面的优点 界面直观,使用方便 字符界面 优点 字符界面是内置的,不需要另外安装 由于在真实的工作环境中,常常是远程管理MySQL,这时需要通过字符界面来使用MySQL Java程序员应该学会字符界面的使用,9,字符界面,mysql -u root -p -u后的参数是用户名 -p表示提示输入密码,输入安装时设置的密码,mysql是提示符,在后面可以输入命令及SQL语句,10,常用命令,use db_name 切换数据库db

5、_name。 show databases 列出所有数据库的信息。 show tables 列出当前数据库的所有表的信息。 show columns from tbl_name 列出表tbl_name的各个列的信息。 show index from tbl_name 列出表tbl_name的索引信息(包括主键等)。 quit 退出MySQL控制台。,11,SQL语句,可以使用所有SQL语句 create database、create table、select、insert、update和delete等 输入方式 直接在字符界面窗口打字输入 先在记事本上编程,然后然后复制到字符界面窗口 输入的

6、要求 一行一条语句,在最后一定要加上分号“;” ,表示SQL的结束 语句太长一行写不下时,可以分成多行,但只需在最后加分号 特别注意:每条语句都必须要有分号“;” 作为结束符 注:SQL语言在其它课程中学习,12,数据的备份与恢复,数据备份使用MySQLDump命令,直接在命令行下使用: 命令的含义是将名为mydb的数据库的内容备份到backdb.sql文件中,包括数据库中的表结构和数据记录。 数据恢复使用MySQL命令,直接在命令行下使用: 命令的含义是将备份文件backdb.sql中的数据结构和数据记录恢复到名为mydb的数据库中,前提条件是该数据库已经存在。如果数据库不存在,则需要事先创

7、建。 创建数据库的命令 命令是在MySQL控制台上发出的,而不是在命令行下发出的,C:mysqldump -u root -p mydb backdb.sql,C:mysql -u root -p mydb backdb.sql,mysqlcreate database mydb,13,9.2 数据库访问流程,数据准备 创建数据库,创建表,插入测试用数据等 添加JDBC类库 将JDBC驱动程序添加到项目中 加载JDBC驱动程序 在程序中加载JDBC 创建数据库连接 通过连接字符串建立与数据库的连接 执行SQL语句 执行select或insert等语句 接收并处理SQL的返回结果 如果执行的是s

8、elect语句,则需要处理该语句返回的结果 关闭创建的对象 结束时一定要关闭数据库连接,14,数据准备,在需求分析和系统设计的基础上进行 创建数据库 创建表 插入测试用数据,mysqlcreate database testdb;,mysqluse testdb; mysqlcreate table user ( usrID int primary key auto_increment, account varchar(20), password varchar(20), fullname varchar(20) );,mysqlinsert into user (account,passwo

9、rd,fullname) values (huang,12345,Huang Neng Geng);,15,添加JDBC类库,将JDBC驱动程序添加到项目 将下载解压缩出mysql-connector-java-5.1.6-bin.jar文件 再将该文件添加到项目中,16,加载JDBC驱动程序,加载JDBC 加载的方式很简单 每种JDBC的DriverName(全限定名)都是约定好的 MySQL Oracle,Class.forName(“DriverName“);,Class.forName(“com.mysql.jdbc.Driver“);,Class.forName(“oracle.jd

10、bc.driver.OracleDriver“);,17,创建数据库连接,通过连接字符串建立与数据库的连接 使用DriverManager类的getConnection()静态方法 直接使用数据源名(用于ODBC数据源) 使用URL 每种JDBC对连接字符串的规定不同 MySQL Oracle,Connection conn=DriverManager.getConnection(jdbcURL, jdbcUser, jdbcPassword);,Connection conn=DriverManager.getConnection(“jdbc:odbc:TestDB“);,Connectio

11、n conn; conn=DriverManager.getConnection(“jdbc:mysql:/127.0.0.1:3306/TestDB“,“root“,“sa“);,Connection conn; conn=DriverManager.getConnection(“jdbc:oracle:thin:127.0.0.1:1521:TestDB“,“root“,“sa“);,18,执行SQL语句,不论对什么数据库系统,后续的操作都是一样的,体现了JDBC与数据库的解藕 建立与数据库的连接之后,执行select或insert等语句 无返回结果的SQL语句 insert, delet

12、e, update, create等语句 有返回结果的SQL语句(见下页) select语句,/ 从数据库连接中创建一个Statement 的实例 Statement stmt=conn.createStatement(); / 然后通过该实例执行SQL语句(execute方法) stmt.execute(“insert into user values (1,zhangs,123,张三)“);,19,接收并处理SQL的返回结果,如果执行的是select语句,则需要处理该语句返回的结果 ResultSet类的常用方法,/ 从数据库连接中创建一个Statement 的实例 Statement s

13、tmt=conn.createStatement(); / 然后通过该实例执行SQL语句(executeQuery方法) ResultSet rs=stmt.executeQuery(“SELECT * FROM user“); / 再通过列名访问数据库的内容 while (rset.next() System.out.println(rset.getInt(“usrID“) + “, “ + rset.getString(“account“); ,20,关闭创建的对象,结束时一定要关闭数据库连接 关闭语句应该放在try结构中的finally语句块中 形成一个嵌套的try结构,Connecti

14、on conn = null; / 在try结构前声明 try / 加载JDBC、创建连接、执行SQL语句、处理返回的结果等处理 catch (ClassNotFoundException e) / 异常处理 catch (SQLException e) / 异常处理 finally if (conn != null) try / 嵌套的try结构 conn.close(); / 关闭连接的语句必须写在finally语句块中 catch (SQLException e) / 异常处理 ,21,9.3 数据库编程,设计思路 将不同功能的代码分离 将加载JDBC和数据为连接的代码单独保存 设计一些

15、通用的代码 将数据保存在独立的对象中 设计一组类,每个类各司其职 ConnectionFactory.java 连接工厂,负责生产数据库连接、关闭连接、保存数据访问的有关参数。 BaseDAO.java 负责执行SQL语句,无返回值的execute()和有返回值的executeQuery()。 User.java 与user表对应的POJO对象,它以Java对象的方式保存数据。 UserDAO.java 负责对POJO对象的CRUD操作。其中的save()包括了insert和update二个功能。 UserDAOTest.java 单元测试的测试用例,用于测试UserDAO的操作。,22,类图

16、,23,连接工厂,功能 保存数据库连接参数 生产数据库连接 关闭数据库连接 方法的签名,/* * 用类中的数据库连接参数, 生产数据库连接对象 * return 数据库连接对象 * throws SQLException * throws ClassNotFoundException */ public static Connection getConnection() throws SQLException, ClassNotFoundException; /* * 关闭数据库连接对象 */ public static void closeConnection();,24,POJO类,POJO类(普通Java对象,Plain Old Java Object) 用POJO类对应数据库中的表 一个POJO类的实例代表一行记录 POJO类是最普通的类,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号