美文网首页
JDBC 操作数据表记录

JDBC 操作数据表记录

作者: 指间Hrc | 来源:发表于2018-11-06 19:40 被阅读2次

    Statement:

    用于执行 SQL 语句的对象,传入的 SQL 语句可以是 INSERT、UPDATE 或 DELETE,但不能是 SELECT。

    使用:

    新建一张表 tb_user:

    执行 INSERT 操作:

    再查看数据表结果:

    同理,UPDATE 和 DELETE 的用法是一样的,所以可以将以上方法封装到类里:

    将获取连接和关闭的方法统一封装到 JDBCUtil 类里面,方便调用。

    ResultSet:

    结果集,封装了使用 JDBC 进行查询的结果

    查询表 tb_user 的所有记录并打印:

    ResultSet 实际上返回的是一张数据表,调用 next() 方法去查找每一行是否存在数据。

    PreparedStatement:

    由于使用 Statement 需要繁琐的拼写 SQL 语句,而且容易出错,所以 JDBC 提供了 Statement 的子接口 PreparedStatement,它可以传入带占位符的 SQL 语句,并且提供了补充占位符变量的方法。同时,使用 PreparedStatement 可以有效的防止 SQL 注入,而且可以最大可能的提高性能。在批量插入记录时,PreparedStatement 已经预编译好 SQL 命令,所以相对 Statement 来说,效果提高不少。

    使用步骤:

    ⑴ 创建 PreparedStatement

    ⑵ 调用 PreparedStatement 的 setXxx( int index,Object val) 设置占位符的值,其中index 的值 从1 开始

    ⑶ 执行 SQL 语句:executeQuery() 或 executeUpdate(),注:执行式不再需要传入 SQL 语句

    案例:

    利用反射和 JDBC元数据封装通用查询方法:

    步骤:
    ⑴ 利用 SQL 进行查询,得到结果集

    ⑵ 利用反射创建实体类的对象

    ⑶ 获取结果集的列的别名

    ⑷ 获取结果集的每一列的值,结合步骤 ⑶ 得到一个 Map 键值对

    ⑸ 利用反射对创建的对象的属性赋值,属性为 map 的键,值为 map 的值

    ResultSetMetaData :

    描述 ResultSet 的元数据对象,从中可以获取到结果集中有多少列,每一列的列名等

    使用:

    由图,可以传入指定的实体类,SQL 语句和参数值,来获取指定实体对象的每个字段的值。

    以上为本人的一些学习笔记,如有出错欢迎指正,陆续更新!!!

    相关文章

      网友评论

          本文标题:JDBC 操作数据表记录

          本文链接:https://www.haomeiwen.com/subject/ceeyxqtx.html