zoukankan      html  css  js  c++  java
  • 小结

    面向接口编程的思想
    ORM思想object relational mapping
    一个表数据对应一个类
    表中的一条数据对应java类的一个对象
    表中的一个字段对应java类的一个属性
    sql是需要结合列名和表的属性名来写,注意起别名

    两种技术
    JDBC结果集获取元数据: ResultSetMetaData
    获取列数 : getColumnCount()
    获取列的别名 : getColumnLabel()
         通过反射,创建指定类的对象,获取指定的属性并赋值


    关于PreparedStatement解决注入问题
    public interface PreparedStatement extends Statement
       表示预编译的SQL语句的对象。
    PreparedStatement除了可以解决拼串,sql注入问题外,还有以下好处
    1.PreparedStatement可以操作Blob的数据,而Statement做不到
    2.PreparedStatement可以实现更高效的批量操作

    Statement像一个信使一样,传送sql语句到数据库服务器中(执行sql语句)进行操作的,

    PreparedStatement与Statement的对比
      1.代码的可读性和可维护性
      2.PreparedStatement能最大可能提高性能:
    ①DBserver会对预编译语句提供性能优化,因为预编译语句有可能被重复调用,
    所有语句在被DBServer
    编译器编译后的执行代码被缓存下来,
    那么下次调用时只要是相同的预编译语句就需要编译,

    只要将参数直接传入编译过的语句执行代码中就会得到执行
    ②在stamement语句中,即使是相同操作,但因为数据内容不一样,
    所以整个语句本身不能匹配,
    也就没有了缓存的意义,
    事实是没有数据库会对普通语句编译后的执行代码缓存。

    这样每执行一次都会对传入的语句编译一次
    ③(语法检查, 语句检查, 翻译成二进制命令, 缓存)
    3.PreparedStatement可以防止SQL注入


    All that work will definitely pay off
  • 相关阅读:
    c++单例设计模式---17
    c++友元函數---16
    c++const关键字---15
    c++浅拷贝和深拷贝---14
    linux shell 基本语法
    Linux静态库生成
    alsa wav
    Android Butterknife使用方法总结 IOC框架
    利用cglib给javabean动态添加属性,不用在建VO
    钢铁雄心三 通过事件做修改器
  • 原文地址:https://www.cnblogs.com/afangfang/p/12677429.html
Copyright © 2011-2022 走看看