zoukankan      html  css  js  c++  java
  • jdbc操作数据库

    Jdbc链接数据库步骤:
    1、    加载数据库驱动
    MySql驱动
    Class.forName(“com.mysql.jdbc.Driver”);
        SqlServer驱动
        Class.forName(“com.microsoft.jdbc.sqlserver.SqlServerDriver”);
        Oracle驱动
        Class.forName("oracle.jdbc.driver.OracleDriver");
    2、    构建数据库URL链接
    规则:jdbc协议+ip地址或域名+端口+数据库名称
    Msql的URL链接
        Jdbc.mysql://127.0.0.1:3306/test
        SqlServer的URL链接
        jdbc:sqlserver://localhost:1433; DatabaseName=Test
        Oracle的URL链接
        jdbc:oracle:thin:@127.0.0.1:1521:orcl
    3、    获取链接对象
    Connection   con=DriverManager.getConnection(URL);
    
    4、    关闭数据库链接
    con.close();
    
    JDBC的核心API
    1、    驱动管理器DriverManager
    方法    说明
    deregisterDriver(Driver dirver)    从DriverManager的管理列表中删除一个驱动程序,参数driver为要删除的驱动对象
    getConnection(String  url)    根据指定数据库链接url,简历与数据库的链接,参数为url
    getConnection(String  url,Properties  info)    指定数据库url链接和链接属性,info为属性参数
    getConnection(String  url,String  user,String  pwd)    指定数据库url链接和登录用户的账号密码。
    getDriver()    获取当前DriverManager中已经加载的所有驱动程序,返回为Enumeration
    registerDriver(Driver  driver)    向DriverManager注册一个驱动对象,参数为driver
    setLogWriter(PrintWriter   printwriter)    向指定日志文件
    Println(String   str)    向指定的日志文件中写入日志
    
    
    
    2、    Connection接口
    方法    说明
    clearWarnings()    清楚为Connection对象报告的所有警告
    Close()    关闭连接,释放资源
    Commit()    使用从上一次提交或回滚以来执行的所有更改为持久更改,并释放此connection对象当前保持的所有数据库绑定
    createStatement()    创建一个Statement对象
    isClose()    检索connection是否关闭
    prepareStatement()    创建一个prepareStatement对象将参数化为sql语句发送给数据库
    rollback()    取消在当前事务中进行的所有更改,并释放此connection对象当前保存的所有数据库锁定
    
    3、    执行SQL语句的Statement接口
    方法    说明
    Close()    立即释放此Statement对象的数据库和JDBC资源
    Excute(String  sql)    执行给定的SQL语句,该语句可能返回多个结果
    excuteBatch()    将一批命令提交给数据库执行,如果全部命令执行成功,者返回更新计数组成的数组
    excuteQuery(String  sql)    执行给定的SQL语句,该语句返回单个ResultSet对象
    excuteUpdate(String  sql,int  autoGenerateKeys)    执行给定的SQL语句,并给定标志通知驱动程序由此Statement生成的自动生成键释放可用于检索
    excuteUpdate(String  sql)    执行给定SQL语句,该语句可能为insert、update、delete语句,或者不返回任何内容的sql语句,可以执行DDL语句
    getFetchSize()    检索结果集合的行数,该数根据此Statement对象生成的ResultSet对象默认获取大学
    getResultSet()    以ResultSet对象的形式检索当前结果
    
    4、    预编译执行SQL语句的PreparedStatement接口
    方法    说明
    Execute()    在此PrepareStatement对象中可执行任何sql语句。
    ExecuteQuery()    在此PrepareStatement对象中执行SQL查询并返回该查询生成的ResultSet对象
    executeUpdate()    在此PrepareStatement对象中执行SQL语句,该语句必须是数据库操作语句,insert、update、delete或DDL语句。DDL语句不返回结果
    setBoolean(int  index,Boolean  x)    将指定参数设置为给定java  boolBean值。Index是根据sql语句里的占位符“?”的位置替换为设置的数据。
    setByte(int  index,Byte  x)    将指定参数设置为给定java  Byte值
    setDate(int  index,Date  x)    将指定参数设置为给定java  Date值
    setInt(int  index,int  x)    将指定参数设置为给定java  Int值
    setShort(int  index,Short  x)    将指定参数设置为给定java  Short值
    setString(int  index,String  x)    将指定参数设置为给定java  String值
    
    5、    结果集ResultSet接口
    方法    说明
    Absolute(int  row)    将指针移动到此ResultSet对象给定的行号
    afterLast()    将指针移动到ResultSet对象的最后一行
    beforeFirst()    将指针移动到ResultSet对象的开头位于第一行之前
    Close()    关闭ResultSet对象
    First()    将指针移动到ResultSet对象的第一行
    getBoolean(int  index)    用boolean类型检索ResultSet对象当前行中给定的值,同名函数的参数可以为String类型,传入改行的字段名
    getByte(int  index)    用Byte类型检索ResultSet对象当前行中给定的值,同名函数的参数可以为String类型,传入改行的字段名
    getBytes(int  index)    用Byte数组类型检索ResultSet对象当前行中给定的值,同名函数的参数可以为String类型,传入改行的字段名
    getDate(int  index)    用Date类型检索ResultSet对象当前行中给定的值,同名函数的参数可以为String类型,传入改行的字段名
    getFloat(int  index)    用Float类型检索ResultSet对象当前行中给定的值,同名函数的参数可以为String类型,传入改行的字段名
    getInt(int  index)    用Int类型检索ResultSet对象当前行中给定的值,同名函数的参数可以为String类型,传入改行的字段名
    getString(int  index)    用String类型检索ResultSet对象当前行中给定的值,同名函数的参数可以为String类型,传入改行的字段名
    Next()    将指针从当前位置移动到下一行,常用于while循环的迭代
    
    6、    及时关闭连接和对象资源
    在执行完SQL语句后,必须将使用的链接和对象都使用close()函数关闭对象,释放资源。
    
    相关实例
    
    package com.wgh;
    
    import java.util.*;
    import java.sql.*;
    
    
    public class OraConnect {
        //创建连接
        Connection con=null;
        Statement  st=null;
        ResultSet rs=null;
        //创建连接函数
        public Connection getOraCon(){
            
            try {
                //加载驱动
                Class.forName("oracle.jdbc.driver.OracleDriver");
                //创建连接
                con=DriverManager.getConnection("jdbc:oracle:thin:127.0.0.1:1521/orcl","guoyanan","guoyanan");
                //判断连接是否连接上
                if(con!=null){
                    
                    return con;
                }
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            return null;
        }
        //执行查询返回ResultSet结果集
        public  ResultSet Query(String  sql) throws SQLException{
            //获得连接
            con=getOraCon();
            //获取Statement对象
           st=con.createStatement();
            //执行SQL获取ResultSet对象
            rs=st.executeQuery(sql);
            if(rs!=null)
            return rs;
            return null;
        }
        //执行新增
        public int insert(String sql) throws SQLException{
            Statement st=con.createStatement();
            return st.executeUpdate(sql);
        }
        //关闭连接,释放资源
        public void  oraClose() throws SQLException{
            if(rs!=null){
            rs.close();
            }
            if(st!=null){
            st.close();
            }
            if(con!=null){
            con.close();
            }
        }
    }
  • 相关阅读:
    计算机网络
    计算机网络知识总结
    final,static,super,this
    ArrayList
    基础面试题
    BATJ都爱问的多线程面试题
    Session过期、失效时间
    类加载器ClassLoader源码解析
    连接ftp服务器 JDK 1.7
    根据当前请求的特征,判断该请求是否来自手机终端
  • 原文地址:https://www.cnblogs.com/gynbk/p/6556273.html
Copyright © 2011-2022 走看看