学习JDBC的总结

JDBC 是Java数据库连接技术,Java程序与数据库进行交互就必须要通过JDBC来进行。

JDBC中包含了API :定义一系列的访问和操作数据的接口与类,在Java.sql包中。

JDBC中还有一个JDBC DriverManager:这是一个驱动管理类

JDBC驱动,这些驱动是数据库厂商提供,为不同的编程语言而做好的接口。


JDBC的访问步骤:

1. 加载驱动:需要驱动才能建立与数据库的连接通道。

Class.forName("com.mysql.jdbc.Driver");

 

2. 建立连接:打通Java程序与数据库之间的通道。

第一个参数表示:连接的主机地址,1219是数据名,characterEncoding=utf-8表示向数据库传递中文时的编码,避免乱码问题。

   第二个参数表示:用户名,

   第三个参数表示:密码。

   con = DriverManager.getConnection(

    "jdbc:mysql://localhost:3306/1219?characterEncoding=utf-8",

       "root", "");

 

3. 执行SQL语句:针对数据库的数据进行检索。

Statement st = null; // 命令对象

st =conn.createStatement();//根据连接创建命令对象

 

4. 操作查询结果,或获取增、删、改的操作结果。

 //执行增删改的SQL,executeUpdate方法返回受影响行数

int row= st.executeUpdate(sql);

 

   //执行查询SQL,返回结果集

ResultSet rs = null; // 结果集

rs = st.executeQuery(sql);

   //循环读取每一条数据

   while(rs.next()) {

       // 如何取得每一行数据里面的值,根据 列名、索引两种方式取

       System.out.print(rs.getString(1)+ "\t");

       System.out.print(rs.getString(2)+ "\t");

       System.out.print(rs.getString(3)+ "\t");

       System.out.print(rs.getString(4)+ "\t");

       System.out.println(rs.getString(5)+ "\t");

    }

 

5. 释放资源。

调用对象的close()方法,关闭所有资源

   if(rs != null) rs.close();

   if(st != null) st.close();

   if(conn!=null) conn.close();



PreparedStatement对象

以避免SQL注入式攻击,安全性高,效率也高,因为针对SQL进行了预编译。

继承自Statement接口,能够对SQL语句进行预编译。运用一个?占位符来组装SQL语句,使SQL语句的可读性更强.

 

ps =conn.prepareStatement(sql);  //预编译SQL指令

//为SQL语句中的占位符赋值 索引从1开始

ps.setString(1,userName);  //表示为第 1 个占位符赋值

ps.setString(2,pwd);   //表示为第 2 个占位符赋值

rs =ps.executeQuery();

建议使这个对象,少用Statement对象,性能高,安全性高,SQL可读性高。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值