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