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

    1,加载驱动---告诉驱动管理器我们将使用哪一个数据库的驱动包;

    Class.forName(“com.mysql.jdbc.Driver”); 

    2,操作JDBC API 完成数据库动作

    2-1.获取联接

    Connection con = null;

    //url—统一资源定位符---样式:协议://ip地址:端口号/服务

    con=DriverManager.getConnection

    (“jdbc:mysql://127.0.0.1:3306/test134?useUnicode=ture&charactorEncoding=utf8&useSSL=false” , ”root ” , ”密码 ”);

    //2-2.书写SQL语句—字符串拼接

    String sql = “   SQL语句  ”;

    //2-3.获取语句对象---Statement 对象—所有的DML语句,全//部执行executeUpdate()方法

    Statement state = con.createStatement();

    //2-4.执行语句对象。

    int row = State.executeUpdate(sql);//返回的int代表影响了多少行。

    //2-3.关闭连接

    if(con !=null){

    con.close();

    }

    }

    JDBC的常见API

    Connection :定义到数据库的联接,主要用于创建Statement对象。

    Statement  :执行SQL语句的接口通过相关方法执行静态的SQL语句。

    ResultSet  :接受某查询SQL查询语句所返回的结果集对象。

    PreparedStatement  :预编译的SQL语句,结合参数可以大大提高JDBC的执行效率

    语法:

    PreparedStatement ps = con.preparedStatement(sql);

    ps.setString(1,name);

    ps.setString(2,pwd);

    PreparedStatement rs =ps.executeQuery();

    作用:1,可以完全替代Statement ,执行executeUpdate()和executeQuery();

    2,解决SQL 注入问题;(字符串拼接)

    3,        因为在执行之前就把语句和String SQL 绑定上(交给数据库预先编译了),执行时不能再改变的SQL的结构。

    注意:

    1、         ?是用来替代语句中的数据值的位置,不能替代跟结构有关的任何内容;

    2、        使用?替代字符串值的时候,不能打上引号;

    不要滥用预编译,预编译语句过多也会影响数据库性能,当数据值是由外部文本输入的时候才用

  • 相关阅读:
    小说下载器【追书接口】
    C#调用大漠插件,发送QQ和微信消息
    C# 终本案件、综合执行人、裁判文书爬虫
    追书神器API
    一个CookieContainer的拓展类
    利用BlockingCollection实现生产者和消费者队列,实现写文本
    EF SQLite的Like语句,生成为CHARINDEX的解决办法
    ClientKey实现登录QQ空间,并设置背景音乐
    DataTable转换为Model实体对象
    开通博客第一天!
  • 原文地址:https://www.cnblogs.com/yj20hl/p/6220961.html
Copyright © 2011-2022 走看看