JDBC的一些讲解
Connection Statement ResultSet
JDBC:
java database connectivity java和数据库的连接的桥梁 作用 : 可以为多种关系型数据库dbms提供统一的访问方式,用java来操作
Connection Statement PrepareStatement ResultSet
JDBC DriverManager: 管理不同的数据库驱动
数据库驱动: 不是java提供的,是由相应的数据库厂商提供的,连接数据库,直接操作数据库
类/接口: DriverManager : 管理JDBC驱动
Connection : 连接 由DriverManager产生
Statement(prepareStatement) : 增删改查 由connection产生
CallableStatement :调用数据库中的存储函数/调用过程 由connection产生
ResultSet : 返回结果集的信息 由prepareStatement产生
Connection产生操作数据库的对象
Connection产生statement对象:connection.createStatement();
Connection产生PreparedStatement对象:connection.createprepareStatement();
Connection产生CallableStatement对象:connection.createCall();
Statement和PrepareStatement操作数据库: 后者可以有赋值的操作功能比较强大
在语法上使用的区别: 前者后面写sql
后面的预编译,sql写在前面,可能存在占位符?在创建statement对象的时候会发生预编译 然后通过set方法把占位符替换掉
推荐使用preparestatement 1. 编码简便 2. 避免了字符串的拼接 3. 有预编译操作提高性能 4. 安全sql注入的问题
增删改
String sql = “insert into student values(12,‘zs’,23,‘s1’);”;
//String sql = “update student set stuname = ‘ls’ where stuno = 1”;
//String sql = “delete from student where stuno = 1”;
//执行sql语句
int count = stmt.executeUpdate(sql);
查
String sql = “select stuno,stuname from student;”;
//String sql = “update student set stuname = ‘ls’ where stuno = 1”;
//String sql = “delete from student where stuno = 1”;
//执行sql语句
rs = stmt.executeQuery(sql);
JDBC访问数据库的具体步骤:
导入驱动程序,加载驱动类
与数据库建立连接
发送sql,执行
发送结果集(查询)
数据库驱动: 具体驱动类 连接字符串
orcle ojdbc-x.jar com.mysql.jdbc.Driver jdbc:orcle:thin:@localhost
mysql mysql-connector-java-x.jar com.orcle.jdbc.Driver jdbc:mysql://localhost:3306/数据库实例名
sqlsever sqljdbc-x.jar com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:mirosoft:sqlserver:localhost:1433;databasename = 数据库实例名
next 1. 下移 2. 判断是否有数据 如果有数据返回true 没有数据返回false rs.getxxx 获取rs指向
jdbc总结: 1.导入驱动加载驱动类 2. 建立连接 3. 获取操作数据库的对象 4.处理结果集 while循环遍历