这篇文章仅用于补充:JAVA代码审计的一些Tips(附脚本)一文中关于SQLi中不足部分
JDBC常用API
DriverManager:用于管理JDBC驱动的服务类。主要功能是获取Connection对象
Connection:代表数据库连接对象。每一个Connection代表一个物理连接会话
Statement:用于执行SQL语句的工具接口。该对象既可以执行DDL,DCL语句,也可以执行DML语句 ,还可以用于执行SQL查询
PreparedStatement:预编译的Statement对象,它允许数据库预编译sql语句,以后每次只改变sql命令的参数,避免数据库每次都需要编译sql语句,无需再传入sql语句,
它比Statement多了以下方法
Hibernate框架常用API
Configuration:负责Hibernate的配置信息。包括运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等 和持久化类与数据表的映射关系(*.hbm.xml文件)
SessionFactory:Configuration对象根据当前的配置信息生成SessionFactory对象,SessionFactory对象中保存了当前数据库的配置信息和所有映射关系以及预定义的SQL语句,同时还负责维护Hibernate的二级缓存
Session:是应用程序与数据库之间交互操作的单线程对象。session对象有一个一级缓存,显式执行flush之前,所有的持久层操作的数据都缓存在session对象处。相当于JDBC的Connection
Transaction:具有数据库事务的概念,所有持久层都应该在事务管理下进行,即使是只读操作
Query: 用于从数据存储源查询对象及控制执行查询的过程,Query对象包装了一个HQL查询语句。Query对象在session对象关闭之前有效,否则会抛出Sessionexception异常
Criteria:
SpringJdbc常用API
JdbcTemplate: Spring对JDBC最低级别的封装,其他的工作模式 事实上在底层使用了JdbcTemplate作为其底层的实现基础
NamedParameterJdbcTemplate:对JdbcTemplate做了封装,提供了更加便捷的基于命名参数的使用方式
Mybatis常用API
SqlSessionFactory:是单个数据库映射关系经过编译后的内存镜像,其主要作用是创建SqlSession对象
SqlSession: 应用程序与持久层之间执行交互操作的一个单线程对象,其主要作用是执行持久化操作
Spring data JPA
Spring Data JPA 简化持久层开发大致需要如下三个步骤
在持久层的接口中声明需要的业务方法,Spring Data JPA将会根据指定的策略为该方法生成实现代码。用户不需要实现该接口
在Spring的配置文件中添加配置,为声明的接口设定代理对象
获得并使用repository的实例
Respository: 是SpringData的核心接口,并不提供任何方法,用户需要自己定义需要的方法
领取专属 10元无门槛券
私享最新 技术干货