您的位置:首页 > 其它

欢迎使用CSDN-markdown编辑器

2016-01-27 21:40 239 查看
数据库获取连接

1.Java:

[code]    1.加载驱动类(不同的数据库字符串内容不同)
        oracle.jdbc.driver.OracleDriver
        com.mysql.jdbc.Driver
        org.sqlite.JDBC
    2.通过DriverManager根据**url(数据库地址),user(用户名),pwd(密码)**来连接数据库
        jdbc:oracle:thin:@host:port:sid  //jdbc:oracle:thin:@192.168.201.201:1521:orcl
        jdbc:mysql://host:3306           //jdbc:mysql://localhost:3306
        jdbc:sqlite:dbname.db            //jdbc:sqlite:info.db
    3.通过创建Connection创建Statement对象
        Statement state = conn.createStatement();// Statement适合执行静态SQL语句
        PreparedStatement ps = conn.prepareStatement(sql);//PreparedStatement是Statement的子类。PreparedStatement适合执行动态SQL语句,可以执行预编译SQL语句的Statement。
        注:PreparedStatement执行动态SQL语句相对Statement执行有几个优势:
             1)简化sql语句拼接的复杂度:使用?号占位
             2)多次执行效率高
             3)可以防止SQL注入攻击:所有?号代替的位置均视为参数,不会视为SQL语句的一部分
        故实际基本不用Statement;    
    4.通过Statement对象执行SQL语句,发送给数据库并得到返回结果。
        若是DML则返回一个数字,表示影响了数据库多少条数据
            int executeUpdate(String sql)
        若是DQL,则会返回查询(SELECT)结果集
            ResultSet executeQuery(String sql)
        另外boolean execute(String sql):什么SQL语句都可以执行,但DML与DQL语句都有单独的方法,所以该方法通常用来执行DDL等操作。
            返回为:若执行完SQL语句后有查询结果集就返回true,否则返回false.  
    5.若有查询结果集则会返回ResultSet对象,通过遍历该对象来获取结果集内容
            >>>ResultSet rs =ps.executeQuery();
               while(rs.next){
                   ...
               }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: