java数据库链接JDBC入门基础.docx

上传人:marr****208 文档编号:132161539 上传时间:2020-05-13 格式:DOCX 页数:24 大小:110.41KB
返回 下载 相关 举报
java数据库链接JDBC入门基础.docx_第1页
第1页 / 共24页
java数据库链接JDBC入门基础.docx_第2页
第2页 / 共24页
java数据库链接JDBC入门基础.docx_第3页
第3页 / 共24页
java数据库链接JDBC入门基础.docx_第4页
第4页 / 共24页
java数据库链接JDBC入门基础.docx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《java数据库链接JDBC入门基础.docx》由会员分享,可在线阅读,更多相关《java数据库链接JDBC入门基础.docx(24页珍藏版)》请在金锄头文库上搜索。

1、JDBC:通过jdbc把java代码和DB链接起来要是使用JDBC链接数据库,就必须导入数据库相对应的驱动包 ojdbc.jarDriverManager : 管理JDBC驱动服务Connection :与特定数据库的连接(会话)。(链接数据库)Statement : 用于执行静态 SQL 语句并返回它所生成结果的对象ResultSet :结果集(表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 )PreparedStatement:表示预编译的 SQL 语句的对象(执行sql)public static Connection getConnection(String url, S

2、tring user, String password) throws SQLException url:代表链接数据库,(每个数据库链接是不一样的)user:用户名password:密码1)加载驱动类Class.forName(String str);2)链接数据库public static Connection getConnection(String url, String user, String password) throws SQLException public static final String DRIVER = oracle.jdbc.driver.OracleDriv

3、er;/orcale驱动public static final String URL = jdbc:oracle:thin:localhost:1521:XE;/数据库的urlpublic static final String USER = system;/用户名public static final String PASSWORLD= gqk;/密码1 JDBC概述JDBC是Java语言访问数据库的解决方案,也就是说,只要应用使用数据库存储数据,都会使用到JDBC编程。(也可以使用一些框架进行数据处理,本课程不涉及) JDBC包括两部分 第一部分是提供给程序员使用的API,与具体数据库无关

4、,也就是编写程序时使用API第二部分是数据库厂商根据规范实现的API,称为SPI,与具体数据库有关。也就是程序运行时,会调用到SPI。在SPI中,有一个关键的类,这个类能够帮助Java程序与数据库创建连接,称为驱动类(driver class) API JDBC的API在JavaSE中,安装JDK即可以使用 JDBC的API都存在于java.sql及javax.sql中,多数时候使用java.sql中的类和接口 SPI 下载数据库驱动包 拷贝到工程的WEB-INF/lib目录下 熟悉JDBC相关API DriverManager Connection Statement ResultSet S

5、QL语句,保证正确并高效 2 DriverManager类DriverManager类能够自动在内存中找到符合需求的的驱动类,主要用来获得与数据库的链接对象 url每个数据库有不同的规范,DriverManager类根据url能够确定需要链接的数据库类型,找到合适的驱动类,获得链接。 Connection是与特定数据库的链接对象,通过DriverManager类取得。通常使用链接对象获得语句对象,常用的语句对象有两种,所以有两个方法获得。 Statement对象可以用来执行SQL语句,使用executeQuery执行查询语句,返回结果集,使用executeUpdate执行增删改,返回操作的行数

6、。 如果要多次执行相似的SQL语句,可以使用PreparedStatemend(预编译语句对象)对象来执行,进行了预编译,效率较高;可以执行带?的SQL语句,?使用setX方法赋值。ResultSet对象用来封装查询得到的结果集,常用的方法有next以及getXXX方法。注意:必须使用next()方法,才能处理结果集。 3 使用JDBC进行增删改使用MySQL数据库 创建数据库demo,demo中创建表user username:用户名 pwd:密码 status:状态(0,正在审核;1:审核通过;2:审核未通过) qq:QQ号码 registtime:注册时间准备驱动程序包要使用JDBC编程

7、,必须把相关数据库的驱动程序包导入到当前工程 每个数据库的驱动程序包不同,可以搜索下载。 把驱动程序包拷贝到WEB-INF/lib下即可 1:加载驱动类使用TestJDBC类做演示。 在进行JDBC编程时,有一个很重要的类,叫驱动类。存在于数据库的驱动包中,首先要把驱动类加载到内存中。每个数据库的驱动类不同。 Connection conn=null;try Class.forName(com.mysql.jdbc.Driver); catch (ClassNotFoundException e) e.printStackTrace(); 2:获得Connection连接对象使用DriverM

8、anager获得链接对象。获得链接时,需要指定url连接串,每个数据库不同,以及用户名、密码。 Connection conn=null;try Class.forName(com.mysql.jdbc.Driver);conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/demo?useUnicode=true&characterEncoding=utf8,root,123); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException

9、 e) e.printStackTrace();3:获得Statement语句对象得到链接对象后,就可以获得语句对象。语句对象常用的有两种,我们先使用Statement。 Connection conn=null;Statement stmt=null;try Class.forName(com.mysql.jdbc.Driver);conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/demo?useUnicode=true&characterEncoding=utf8,root,123);stmt=conn.create

10、Statement(); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();4:执行SQL语句要执行insert语句,因此使用Statement中的executUpdate方法 Connection conn=null;Statement stmt=null;try Class.forName(com.mysql.jdbc.Driver);conn = DriverManager.getConnection(jdbc:mysql:/localhost:

11、3306/demo?useUnicode=true&characterEncoding=utf8,root,123);stmt=conn.createStatement();String sql=insert into user values(wangxh,1,1,29097443,2015-01-15 16:37:00);stmt.executeUpdate(sql); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); 5:关闭资源语句对象、链接对

12、象都是占资源的对象,使用后要在finally语句块中关闭。 finallyif(stmt!=null)try stmt.close(); catch (SQLException e) e.printStackTrace(); if(conn!=null)try conn.close(); catch (SQLException e) e.printStackTrace();执行测试类TestJDBC.java,可以查看数据库,插入了一条记录。修改测试数据,插入多条记录。 目前TestJDBC.java的testInsert()方法,每次insert的数据值都是写在SQL语句中,不灵活 我们需要

13、设计一个新的方法 testInsert(String username,String pwd, String status,String QQ,String time),通过参数插入记录。 当SQL语句中需要使用变量作为参数时,可以考虑使用PreparedStatment 使用PreparedStatment步骤1-2与之前例子相同 步骤3:获得PreparedStatment语句对象。创建PreparedStatement时,需要使用一个SQL语句字符串,SQL语句中需要使用到变量的参数之处,可以使用?占位。 String sql=insert into user values(?,?,?,

14、?,?);pstmt=conn.prepareStatement(sql); 步骤4:使用PreparedStatment的setX方法,为?赋值。并执行。 pstmt.setString(1,username);pstmt.setString(2, pwd);pstmt.setString(3,status);pstmt.setString(4, qq);pstmt.setString(5, time);pstmt.executeUpdate(); 步骤5:关闭资源,与之前例子相同 在做JDBC编程过程中,主要使用JDBC的API编程,其中只有驱动类名称、连接串写法,与具体数据库有关,其他都有数据库无关。 主要步骤: 加载驱动类 获得连接对象 获得语句对象 执行SQL语句 关闭资源 语句对象:常用的语句对象有两种,分别是Statement,PreparedS

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

当前位置:首页 > 高等教育 > 其它相关文档

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