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、        使用?替代字符串值的时候,不能打上引号;

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

  • 相关阅读:
    【ZBar】ios错误ignoring file xxx missing required architecture x86_64 in file
    微信内置浏览器UserAgent的判断
    运维技能大全 | Devops Tools 周期表
    Mysql 常用命令集
    Iphone H5上传照片被旋转
    陈小春 相依为命
    Hiveserver2 OOM问题解法
    hiveserver 占用内存过大的问题
    linux查看CPU和内存使用情况
    linux Shell函数
  • 原文地址:https://www.cnblogs.com/yj20hl/p/6220961.html
Copyright © 2011-2022 走看看