当前位置:
文档之家› JDBCjavaEE项目连接数据库(PPT 28张)
JDBCjavaEE项目连接数据库(PPT 28张)
第2章JDBC
主要内容
JDBC简介 JDBC操作 使用PreparedStatement 事务 使用连接池访问数据库
2
JDBC 简介
JDBC中主要接口 java.sql.DriverManager:处理驱动程序的 调入和管理 java.sql.Connection:负责连接数据库 java.sql.Statement:负责执行数据库 SQL 语句 java.sql.ResultSet:负责存放查询结果
前提:第1列为字符串数据 while(rs.next()) { String s1=rs.getString(1); //根据列号取值(从1开始) 或 String s2=rs.getString(“name”); //根据列名取值 或 int col3=rs.getInt(3); //非字符串数据示例 前提:第3列为整形数据 }
⑥ 依次关闭ResultSet、Statement和Connection对象:
rs.close(); stmt.close(); conn.close();
10
JSP连接MySQL示例
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <%@ page import="java.sql.*"%> 数据库名 <% String url ="jdbc:mysql://localhost:3306/school"; //数据库连接字符串 Class.forName(" com.mysql.jdbc.Driver "); //加载驱动程序 Connection conn= DriverManager.getConnection(url,"root","dba"); //建立连接 Statement stmt=conn.createStatement(); //创建SQL容器 String sql="select * from teacher"; //表为teacher ResultSet rs=stmt.executeQuery(sql); //获得结果集 while( rs.next() ) { //处理结果集 out.print(rs.getString("id")+" "); out.print(rs.getString("name")+" "); out.print(rs.getString("address")+" "); out.print(rs.getString("year")+"<br>"); } //关闭 rs.close(); stmt.close(); conn.close(); %>
5
使用厂商驱动进行数据库连接
Oracle :驱 动 程 序 为 : "oracle.jdbc.driver.OracleDriver ", url 为 : "jdbc:oracle:thin:@[ip]:1521:[sid]"
6
使用厂商驱动进行数据库连接
MySQL : 驱 动 程 序 为 : “ com.mysql.jdbc.Driver " , url 为 : "jdbc:mysql://localhost:3306/[DBName]"
7
JDBC操作
① 装载数据库的JDBC驱动程序
Class.forName(“com.mysql.jdbc.Driver");
不同DBMS系统有 不同的驱动名称
② 建立与数据库的连接
不同DBMS系统有不同连接串.
Connection conn= DriverManager.getConnection(url, 用户名, 密码); 例如: String url="jdbc:mysql://localhost:3306/school";
3
JDBC 简介
针对不同类型的数据库,JDBC 机制中提供了"驱动 程序"的的概念。对于不同的数据库,程序只需要使 用不同的驱动厂商驱动连接数据库
4
使用厂商驱动进行数据库连接
常见数据库的驱动程序名称和 url 如下 MS SQL Server:驱动程序为: "com.microsoft.jdbc.sqlserver.SQLServer Driver", url 为: "jdbc:microsoft:sqlserver://[IP]:1433;Datab aseName=[DBName]"
12
使用 PreparedStatement
引出 以添加数据为例,在很多情况下,具体需 要添加的值,是由客户自己输入的,因此, 应该是一个个变量。该情况下,SQL 语句 的写法就比较麻烦 ,而且依赖了变量,比 较容易出错 PreparedStatement 解决了这个问题
11
服务器中数据库驱动程序部署
mysql的驱动程序 mysql-connector-java-5.*-bin.jar存放位置: tomcat %TOMCAT_HOME%\lib 或 %TOMCAT_HOME%\common\lib目录 jboss %JBOSS_HOME%\server\default\lib目录 weblogic \bea\user_projects\domains\base_domain\lib目录
2) executeUpdate()-用于创建和更新表(如 Update/Insert/ Delete/Create),返回受影响行数. String sql=“Delete from 表名 where … ”; int rsCount = stmt.executeUpdate(sql);
9
⑤ 处理ResultSet结果集
8
③ 建立Statement 对象,准备执行SQL语句 Statement stmt = conn.createStatement(); ④ 执行SQL语句√√√ 常用3种执行SQL语句的方法: 1) executeQuery()-用于Select语句,返回结果集. String sql=“select * from 表名”; ResultSet rs= stmt.executeQuery(sql);