PreparedStatement相较于Statement的优点:
用户登录系统来比较:
- 不再使用“+”来拼接sql语句,减少语法错误,语义性更强;
- 将模板sql(固定的部分)和参数部分进行分离,提高维护性;
- 有效的解决sql注入问题;
- 效率高。
JDBC相关API
JDBC API是一系列的接口,它统一和规范了应用程序与数据库的连接、执行SQL语句,并到得到返回结果等各类操作。声明在java.sql与javax.sql包中。
DriverManager驱动管理类
- registDriver(Driver对象):注册驱动,不推荐使用
- getConnection(url,user,pwd):获取连接
Connection连接对象接口
- createStatement():生成命令对象
- prepareStatement(sql):生成预编译命令对象
Statement命令对象接口
- executeUpdate(sql):执行增删改语句,返回受影响的行数
- executeQuery(sql):执行查询语句,返回结果集
- execute(sql):执行任意sql语句,返回boolean,较少使用
PreparedStatement预编译命令对象接口
- executeUpdate():执行增删改语句,返回受影响的行数
- executeQuery0:执行查询语句,返回结果集
- execute():执行任意sql语句,返回boolean
- setXX(占位符索引,占位符的值):设置对应索引的占位符的值,类型为XX类型
- setobject(占位符索引,占位符的值):设置对应索引的占位符的值,类型为Object类型
ResultSet结果集对象接口
- next():下移一行,返回当前行是否有值
- previous():上移一行,返回当前行是否有值
- getxx(列索引|列名1别名):返回对应列的值,接收类型为XX
- getobject(列索引|列名|别名):返回对应列的值,接收类型为0bject