欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > [WEB开发] JDBC

[WEB开发] JDBC

2025/3/29 2:00:17 来源:https://blog.csdn.net/nmbg11/article/details/146453218  浏览:    关键词:[WEB开发] JDBC

一. JDBC基础

JDBC (Java DataBase Connectivity): 就是使用 java 语言操作数据库的一套API.
在这里插入图片描述
JDBC本质:

  • 一套标准接口, 规范
  • 各个数据库厂商实现这套接口, 提供驱动
  • 使用接口, 真正执行的是实现类

二. 实战

2.1 非预编译sql

        // 1. 注册数据库驱动Class.forName("com.mysql.cj.jdbc.Driver");// 2. 数据库基本信息, 与数据库建立连接String url = "jdbc:mysql://localhost:3306/itcast";String user = "root";String password = "***";Connection connection = DriverManager.getConnection(url, user, password);// 3. 获取语句执行器, 编写并执行sql语句Statement statement = connection.createStatement();String sql = "select * from user";ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");System.out.println(id + " " + name);}// 4. 释放资源resultSet.close();statement.close();connection.close();

2.2 预编译sql

        // 1. 注册数据库驱动Class.forName("com.mysql.cj.jdbc.Driver");// 2. 数据库基本信息, 与数据库建立连接String url = "jdbc:mysql://localhost:3306/itcast";String user = "root";String password = "wuxuanyu000";Connection connection = DriverManager.getConnection(url, user, password);// 3. 获取语句执行器, 编写并执行预编译sql语句String sql = "select id, username, password, name, age from user where id = ?";PreparedStatement preparedStatement = connection.prepareStatement(sql);preparedStatement.setInt(1, 1);ResultSet resultSet = preparedStatement.executeQuery();while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");System.out.println(id + " " + name);}// 4. 释放资源resultSet.close();preparedStatement.close();connection.close();

预编译sql语句的优点:

  • 防止sql注入, 更安全
    • 将用户输入与sql语句分离开.
  • 性能更高
    • 避免反复的"sql检查 - sql优化 - sql编译".

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词