本文最初由security9968发布于security9968的csdn博客,禁止任何形式的剽窃行为 本文学习自DT课堂原名颜群 DriverManger:管理驱动 Connection:连接(通过DriverManager产生) Statement(PreparedStatement):增删改查(通过Connection产生) CallableStatement:调用数据库中的存储过程/存储函数(通过Connection产生) ResultSet:返回的结果集(上面的Statement等产生) SQL注入:将客户输入的内容和开发人员的SQL语句混为一体 Statement:存在被SQL注入的风险 (例如输入用户名:任意值 ’ or 1=1 – 密码:任意值) 驱动、驱动类、连接字符串、用户名、密码 本文最初由security9968发布于security9968的csdn博客,禁止任何形式的剽窃行为Java Web系列之JDBC
转载原创文章请注明,转载自:security的博客JDBC
可以为多种不同关系型数据库提供统一访问方式,用Java操作数据库
通过JDBC操纵
JDBC DriverManager
操纵
Oracle或MySQL等关系型数据库驱动程序(jar包)
操纵
Oracle或MySQL数据库等
JDBC API主要功能
{call 存储过程名(参数列表)}
{?=call 存储函数名(参数列表)}
JDBC访问数据库的具体步骤
JDBCDemo代码
import java.sql.*; public class JDBCDemo { private static final String URL="jdbc:mysql://localhost:3306/学生作业管理数据库?serverTimezone=UTC"; private static final String USERNAME="root"; private static final String PWD="1998"; /* public static void update() { //增删改 Connection con =null; Statement stmt = null; try { //1. 导入驱动,加载具体的驱动类 Class.forName("com.mysql.jdbc.Driver"); //2. 与数据库建立连接 con= DriverManager.getConnection(URL,USERNAME,PWD); //3. 发送sql,执行(增删改、查) stmt=con.createStatement(); String sql="INSERT INTO 学生表 (学号,姓名,性别,专业班级,出生日期,联系电话) " + "VALUES(0538,'于兰兰','女','生物05','1984-2-20', '1331200××××');"; //4. 执行SQL int count = stmt.executeUpdate(sql); //5. 处理结果 if (count>0) { System.out.println("操作成功"); } } catch(ClassNotFoundException e) { e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } finally{ try{ if(stmt!=null) stmt.close(); if(con!=null) con.close(); } catch(SQLException e) { e.printStackTrace(); } } } */ public static void query() { //查询 Connection con =null; Statement stmt = null; ResultSet rs=null; try { //1. 导入驱动,加载具体的驱动类 Class.forName("com.mysql.jdbc.Driver"); //2. 与数据库建立连接 con= DriverManager.getConnection(URL,USERNAME,PWD); //3. 发送sql,执行(查) stmt=con.createStatement(); String sql="select * from 学生表"; //4. 执行SQL rs = stmt.executeQuery(sql); //executeUpdate改为executeQuery //5. 处理结果 while(rs.next()) { int sno =rs.getInt("学号"); String sname =rs.getString("姓名"); System.out.println(sno+"--"+sname); } } catch(ClassNotFoundException e) { e.printStackTrace(); } catch(SQLException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } finally{ try{ if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(con!=null) con.close(); } catch(SQLException e) { e.printStackTrace(); } } } public static void main(String[] args) { // TODO 自动生成的方法存根 // update(); query(); } }
数据库驱动
ojdbc-x.jar
oracle.jdbc.OracleDriver
jdbc:oracle:thin:@localhost:1521:ORCL
mysql-connector-java-x.jar
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/数据库实例名
sqljdbc-x.jar
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:microsoft:localhost:1433;databsename=数据库实例名
处理CLOB/BLOB类型
通过JDBC存储文件路径,然后根据IO操作处理
varchar2:4000byte总结
while(rs.next()){ rs.get…();}
catch(SQLException e){…}
catch(Exception e){…}
finallu{//打开顺序,与关闭顺序相反
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(connection!=null) connection.close();
}
转载原创文章请注明,转载自:security的博客
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算