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

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

  • 相关阅读:
    Java程序员必知的8大排序
    java提高篇-----理解java的三大特性之封装
    树莓派学习笔记——GPIO功能学习
    SQL 服务没有及时响应启动或控制请求”的解决方法
    http://blog.csdn.net/u011001723/article/details/45621027
    error
    Spring @Conditional注解的使用
    Python [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 解决方法
    python
    local class incompatible: stream classdesc serialVersionUID = -2897844985684768944, local class serialVersionUID = 7350468743759137184
  • 原文地址:https://www.cnblogs.com/yj20hl/p/6220961.html
Copyright © 2020-2023  润新知