JDBC-JAVA数据库连接

目录

1、JDBC  ( Java Database Connectivity ) java数据库连接

2、JDBC API :  供程序员调用的接口与类,集成在java.sql包中

3、JDBC搭建

4、PreparedStatement和Statement对比


1、JDBC  ( Java Database Connectivity ) java数据库连接

  • 是一种用于执行SQL语句的JavaAPI,可以为多种关系型数据库提供统一访问,
  • 它由一组用Java语言编写的类和接口组成。
  • 有了JDBC,java开发人员只需要编写一次程序,就可以访问不同的数据库.
Java 定义者制定了 JDBC 规范
数据库开发商实现接口
程序员学习使用标准规范

2、JDBC API :  供程序员调用的接口与类,集成在java.sql包中

  • DriverManager类作用:管理各种不同的jDBC驱动
  • Connection接口     与特定数据库的连接
  • Statement接口       执行sql
  • PreparedStatement接口     执行sql
  • ResultSet接口      接收查询结果

3、JDBC搭建

  • 注册JDBC驱动程序:
  • 这需要初始化驱动程序,这样就可以打开与数据库的通信信道。
//加载mysql驱动
// Class.forName("com.mysql.cj.jdbc.Driver");
DriverManager.registerDriver(new Driver());
  • 建立与数据库连接:
  • 这需要使用DriverManager.getConnection()方法来创建一个Connection对象,它代表一个物理连接的数据库.
String url = "jdbc:mysql://127.0.0.1:3306/数据库名?serverTimezone=Asia/Shanghai";
String user = "root";
String passward = "root";
Connection connection = DriverManager.getConnection(url,user,passward);
  • 获得 Satement 执行 sql 语句
Statement statement = connection.createStatement();
  • Satement中的方法: Int executeUpdate(String sql)  用于执行ddl语句和dml(增,删,改)语句返回
    操作的 行数
// 例如:
Statement statement = connection.createStatement();
statement.executeUpdate("insert into country(cname) values ('"+ name +"')");
  • ResultSet executeQuery(String sql); 用于执行查询语句返回一个ResultSet集合
  • 获得PrepareStatement执行sql语句
  • sql 语句中参数位置使用 占位符 , 使用 setXX 方法向 sql 设置参数
  • PrepareStatement ps = connection.prepareStatement(sql);
  • PrepareStatement 中的方法 : Int executeUpdate()用于执行ddl 语句和 dml( , , ) 语句返回操作的 行数
  •  ResultSetexecuteQuery();用于执行查询语句返回一个ResultSet集合

4、PreparedStatementStatement对比

4.1、代码的可读性和可维护性.

虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次:
stmt.executeUpdate("insertintotb_name(col1,col2,col2,col4)values
('"+var1+"','"+var2+"',"+var3+",'"+var4+"')");
perstmt = con.prepareStatement("insertintotb_name(col1,col2,col2,col4)values
(?,?,?,?)");
perstmt.setString(1,var1);
perstmt.setString(2,var2);
perstmt.setString(3,var3);
perstmt.setString(4,var4);
perstmt.executeUpdate();//prestmt是PreparedStatement对象实例

4.2、最重要的一点是极大地提高了安全性.

  • PreparedStatementStatement中的executeQuery()方法中会返回一个ResultSet对象,查询结果就封装在此对象中.
  • 使用ResultSet中的next()方法获得下一行数据
  • 使用getXXX(Stringname)方法获得值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值