java教程数据库

上传人:第*** 文档编号:61616975 上传时间:2018-12-07 格式:PPT 页数:36 大小:1.96MB
返回 下载 相关 举报
java教程数据库_第1页
第1页 / 共36页
java教程数据库_第2页
第2页 / 共36页
java教程数据库_第3页
第3页 / 共36页
java教程数据库_第4页
第4页 / 共36页
java教程数据库_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《java教程数据库》由会员分享,可在线阅读,更多相关《java教程数据库(36页珍藏版)》请在金锄头文库上搜索。

1、,Java入门,4 Java数据库技术,4.1 MySQL和JDBC 4.2 使用JDBC 4.3 实例,4.1 MySQL和JDBC概述,MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一,对于一般的个人使用者和中小型企业来说,MySQL提供的功能绰绰有余。,创建数据库test: create database test 创建表her

2、o: CREATE TABLE hero ( id int(11) AUTO_INCREMENT, name varchar(30) , hp float , damage int(11) , PRIMARY KEY (id) ) DEFAULT CHARSET=utf8; 插入一条记录盖伦到表中:insert into hero values (null, 盖伦, 616, 100) 查询所有数据:select * from hero 统计表中有多少条数据:select count(*) from hero 显示前5条数据:select * from hero limit 0,5 修改:up

3、date hero set hp = 818 where id = 1 删除:delete from hero where id = 1,操作语句,4.1 MySQL和JDBC,JDBC(Java Database Connection,Java数据库连接)是一种用于执行SQL语句的JavaAPI(应用程序设计接口),它由一些Java语言写的类和界面组成。JDBC提供了一种标准的应用程序设计接口,使得开发人员使用Java语言开发完整的数据库应用程序变得极为简单。通过JDBC,开发人员几乎可以将SQL语句传递给任何一种数据库,而无需为各种数据库编写单独的访问程序。JDBC可以自动将SQL语句传递

4、给相应的数据库管理系统。,访问MySQL数据库需要用到第三方的类,这些第三方的类,都被压缩在一个叫做Jar的文件里。 为了代码能够使用第三方的类,需要为项目导入mysql的专用Jar包。 mysql-connector-java-5.0.8-bin.jar 通常都会把项目用到的jar包统一放在项目的lib目录下 导包步骤: 右键project-property-java build path-libaries-add external jars,package jdbc; public class TestJDBC public static void main(String args) /初

5、始化驱动 try /驱动类com.mysql.jdbc.Driver /就在 mysql-connector-java-5.0.8-bin.jar中 /如果忘记了第一个步骤的导包,就会抛出ClassNotFoundException Class.forName(“com.mysql.jdbc.Driver“); System.out.println(“数据库驱动加载成功 !“); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); ,初始化驱动 通过Class.forNa

6、me(“com.mysql.jdbc.Driver“);初始化驱动类com.mysql.jdbc.Driver 就在 mysql-connector-java-5.0.8-bin.jar中,JDBC扩展了Java的功能,例如在Applet中应用JDBC,可以实现与远程数据库的连接,实现不同平台数据库之间的对话。简单地说,JDBC完成下面三个操作: (1) 与一个数据库建立连接。 Connection con = DriverManager.getConnection(“jdbc:odbc:CallCenter“,“sa“,“); (2) 向数据库发送SQL语句。 stmt = con.crea

7、teStatement(); rs = stmt.executeQuery(“SELECT CID,CPin from tCustomer WHERE CID=z1“);,(3) 处理数据库返回的结果。 while(rs.next() String theInt = rs.getString(“CID“); String str = rs.getString(“CPin“); . ,4.2 使 用JDBC,JDBC的接口分为两个层次:一个是面向程序开发人员的JDBC API;另外一个是底层的JDBC Driver API。JDBC API 被描述成为一组抽象的Java接口,应用程序可以对某个数

8、据库打开连接,执行SQL语句并且处理结果。最重要的接口如下: java.sql.DriverManager:处理驱动的调入并且对产生新的数据库连接提供支持。 java.sql.Connection:代表对特定数据库的连接。 java.sql.Statement:代表一个特定的容器,以对一个特定的数据库执行SQL语句。 java.sql.ResultSet:控制对一个特定语句的行数据的存取。,其中java.sql.Statement又有两个子类型: (1) java.sql.PreparedStatement:用于执行预编译的SQL语句。 (2) java.sql.CallableStateme

9、nt:用于执行对一个数据库内嵌过程的调用。 JDBC Driver API是指java.sql.Driver接口,封装了不同数据库的驱动程序(像Access、Foxpro、SQL Server等)。由于它是数据库底层处理,所以必须提供对java.sql.Connection、java.sql. Statement、java.sql.PreparedStatement和java.sql.ResultSet的实现。,package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQL

10、Exception; public class TestJDBC public static void main(String args) try Class.forName(“com.mysql.jdbc.Driver“); / 建立与数据库的Connection连接 / 这里需要提供: / 数据库所处于的ip:127.0.0.1 (本机) / 数据库的端口号: 3306 (mysql专用端口号) / 数据库名称 how2java / 编码方式 UTF-8 / 账号 root / 密码 admin,连接数据库,/接上面的代码 Connection c = DriverManager.getC

11、onnection( “jdbc:mysql:/127.0.0.1:3306/test?characterEncoding=UTF-8“, “root“, “admin“); System.out.println(“连接成功,获取连接对象: “ + c); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); ,pack

12、age jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC public static void main(String args) try Class.forName(“com.mysql.jdbc.Driver“);,Statement是用于执行SQL语句的,比如增加,删除,Connection c = DriverManager.getConnection

13、( “jdbc:mysql:/127.0.0.1:3306/test?characterEncoding=UTF-8“, “root“, “admin“); / 注意:使用的是 java.sql.Statement / 不要不小心使用到: com.mysql.jdbc.Statement; Statement s = c.createStatement(); System.out.println(“获取 Statement对象: “ + s); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printS

14、tackTrace(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); ,package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC public static void main(String args) try Class.forName(“

15、com.mysql.jdbc.Driver“); Connection c = DriverManager .getConnection( “jdbc:mysql:/127.0.0.1:3306/test?characterEncoding=UTF-8“, “root“, “admin“);,s.execute执行sql语句 执行成功后,用mysql-front进行查看,明确插入成功,Statement s = c.createStatement(); / 准备sql语句 / 注意: 字符串要用单引号 String sql = “insert into hero values(null,“+“

16、提莫“+“,“+313.0f+“,“+50+“)“; s.execute(sql); System.out.println(“执行插入语句成功“); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); ,执行SQL语句之前要确保数据库test中有表hero的存在,如果没有,需要事先创建表,在回收垃圾语句后面加上下面语句 finally / 数据库的连接时有限资源,相关操作结束后,养成关闭数据库的好习惯 / 先关闭Statement if (s != n

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

当前位置:首页 > 办公文档 > 事务文书

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