JDBC(java database connection): 是java连接数据库的一套标准,该标准提供了大量的
接口,这些接口由厂商根据自身数据库的特点做实现,由用户进行接口方法调用。用户
根据接口调用方法,可以屏蔽不同数据库的差异,这样无论连接什么数据库都是一套API
。
JDBC开发流程
1、建立连接
2、执行SQL语句
3、关闭连接
statement 和PreparedStatement的区别:
statement是PreparedStatement的父接口。采用statement执行SQL语句时,由于SQL
语句的值一般由用户提供,所以只能采用拼接字符串的方式设置,这样随着值的不同,
系统会做多次SQL语句的编译操作,所以效率低,而且容易引起SQL注入。
PreparedStatement提供占位符机制,将需要设置值的地方都用占位符表示,这样无论
什么值都是一个SQL语句,不会进行多次编译操作,效率高,而且无论值是什么,都当
做字符串处理,不会引起SQL注入。
SQL注入,采用拼接字符串方式,拼SQL语句时,如果值中有SQL语句的关键字或特殊字
符,可能导致运行结果不正确,或SQL语句的语法错误。这称为SQL注入。解决SQL注入
的方法是:采用PreparedStatement代替Statement 。
dao(data access object)(数据访问对象) 是一种架构模式。建立实体类和数据库表做映
射。也就是哪个类对应哪个表,哪个属性对应哪个列。所以完成数据库操作的本质就是
完成对象数据和关系数据的转换。
接口,这些接口由厂商根据自身数据库的特点做实现,由用户进行接口方法调用。用户
根据接口调用方法,可以屏蔽不同数据库的差异,这样无论连接什么数据库都是一套API
。
JDBC开发流程
1、建立连接
2、执行SQL语句
3、关闭连接
statement 和PreparedStatement的区别:
statement是PreparedStatement的父接口。采用statement执行SQL语句时,由于SQL
语句的值一般由用户提供,所以只能采用拼接字符串的方式设置,这样随着值的不同,
系统会做多次SQL语句的编译操作,所以效率低,而且容易引起SQL注入。
PreparedStatement提供占位符机制,将需要设置值的地方都用占位符表示,这样无论
什么值都是一个SQL语句,不会进行多次编译操作,效率高,而且无论值是什么,都当
做字符串处理,不会引起SQL注入。
SQL注入,采用拼接字符串方式,拼SQL语句时,如果值中有SQL语句的关键字或特殊字
符,可能导致运行结果不正确,或SQL语句的语法错误。这称为SQL注入。解决SQL注入
的方法是:采用PreparedStatement代替Statement 。
dao(data access object)(数据访问对象) 是一种架构模式。建立实体类和数据库表做映
射。也就是哪个类对应哪个表,哪个属性对应哪个列。所以完成数据库操作的本质就是
完成对象数据和关系数据的转换。