JDBC
- java database connectivity;
- 定义:jdbc是java连接数据库的一套规范,该规范中定义了一系列接口,有数据库厂商提供实现类,由开放者根据接口,调用实现类方法,这样开发者就可以屏蔽不同数据库的差异,无论连接什么数据库,对数据库做什么操作,都是用的同一套API;
dao模式
- 建立实体类和数据库表做映射,也就是那个表对应那个类,那个属性对应那个列,而jdbc操作的目的就是,完成对象数据与关系数据的转换;
statement 和preparedstatement 的区别
- statement 是preparedstatement的父接口
- statement在执行sql语句时只能用字符串拼接方式设置值,由于每次值都不一样,所以在执行sql语句时都会将sql语句重新编译,效率较低
- preparedstatement提供占位符方式,,sql语句不用每次执行都行编译,执行效率较高
- statement 在执行sql语句时,由于采用字符串方式拼接值。所以容易造成sql注入,而preparedstatement采用占位符方式设置值,无论什么值都当作字符串处理,所以不会造成sql注入
- sql注入:在执行sql语句时,如果以拼接字符串方式设置值,那么如果在值中有sql语句的关键字或非法字符,可能会造成执行结果不正确或执行失败情况;所以开发中一般不用statement;