JDBC

1. jdbc的概念及作用

  • 概念:
    Java数据库连接技术(Java DataBase Connectivity),由一组使用Java语言编写的类和接口(JDBC API)组成,它们位于java.sql以及javax.sql中。
  • 作用
    能实现Java程序对各种数据库的访问

2.JDBC访问数据库步骤:

Statement

1.Class.forName()加载驱动

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

2.DriverManager获取Connection连接

String url="jdbc:mysql://192.168.112.100:3306/bank";			// 192.168.112.100 数据库地址;bank 是库名
Connection con = DriverManager.getConnection(url, "root", "ok");	//三个参数分别是地址,用户名,密码

3.创建Statement和执行SQL语句

Statement sta = con.createStatement();
String sql="select * from account";					//sql变量,值为SQL语句命令

4.返回ResultSet查询结果

ResultSet rs = sta.executeQuery(sql);					//查询
sta.executeUpdate(sql);									//增删改

5.控制台打印
打印整个表数据

while (rs.next()) {
  int i=1;
  while (i<=rs.getMetaData().getColumnCount()){
   	System.out.print(rs.getObject(i)+"\t|");
    	i++;
}
  System.out.println();
}

打印一列数据

while (rs.next()) {
  System.out.println(rs.getString(1))					//打印第一列数据,getString 的形参表示的是哪一列
}

6.释放资源

rs.close();
sta.close();
con.close();					//后用先关
PrepareStatement
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.DriverManager获取Connection连接
String url = "jdbc:mysql://192.168.112.100:3303/test";
Connection con = DriverManager.getConnection(url,"root","ok");
//3.创建PreparedStatement
String sql = "select * from student where stu_id=?";
PreparedStatement ps = con.prepareStatement(sql);
//填充SQL语句中的问号
ps.setInt(1,1);		//第一个参数表示是第几个问号,第二个参数是表示要传入的条件。要是传入的数String类型,则要用setString()
//4.返回ResultSet 的查询结果
ResultSet rs = ps.executeQuery();
while (rs.next()){
    for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
        System.out.print(rs.getObject(i)+"\t");
    }
    System.out.println();
}
//5.释放资源
rs.close();
ps.close();
con.close();
Statement与PreparedStatement区别
  • ①PrepareStatement继承Statement
  • ②Statement由方法createStatement()创建,该对象用于发送简单的SQL语句
  • ③PreparedStatement由方法prepareStatement(sql)创建,该对象用于发送带有一个或者多个输入参数的SQL语句
    • SQL语句使用“?”作为数据占位符
    • 使用setXxx()方法设置数据
      注:?是什么类型,则set用什么类型,比如?处参数时int,则使用setInt()方法
  • ④PreparedStatement—预编译
    注:在SQL语句发送给DBMS之前就已经编译完成
    • 效率、性能、开销
    • 安全性
    • 代码可读性
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值