JAVA入门-JDBC

什么是JDBC

JDBC(JavaDataBase Connectivity)Java数据库连接。
就是用java语言来操作数据库。
我们的传统方式是在控制台操作数据库。
jdbc就是用java语言来操作数据库。

JDBC的原理

jdbc其实就是一组接口,想要实现这个接口的功能就是各个数据库的驱动。

JDBC的常用类(接口)

  1. DriverManager – 类,用来获取Connection;
  2. Connection – 接口;
  3. Statement – 接口;
  4. ResultSet – 接口。
他们的作用

1 DriverManager
是JDBC驱动程序的基本服务。由DriverManager类初始化驱动程序。
是JDBC的管理层。
2.Connection
代表与数据库的链接,并拥有创建SQL语句的方法,以完成基本的SQL操作,同时为数据库事务提供提交和回滚方法。
3 Statement
用于执行不带参数的简单SQL语句。创建Statement实例对象后可以调用JDBC提供的3种执行SQL语句的方法:
(1)executeUpdate()方法,一般用于执行SQL的INSERT,DELETE,UPDATE语句
(2)executeQuery()方法,一般用于执行SQL的SELECT语句,因为 它的返回值是执行SQL语句后产生的一个ResultSet接口的实例(结果集)
(3)execute()方法,即一般它执行的SQL语句既有查询又有更新值,约等于executeUpdate()和executeQuery()两个方法的合辑。
4PreparedStatement
它与Statement 的主要区别
(1)它包含的SQL语句是预编译的,所以当多次执行一条SQL语句时用它会更快
(2)在设置参数是可以用“?”代替。如:
PreparedStatement pstmt=conn.preparedStatement(insert into test values(?,?));
pstmt.setString(1,‘gg’);
pstmt.setString(2,‘123’);
5ResultSet
包含了Statement和PreparedStatement的executeQuery方法中SELECT的结果集。相当于用它来读取数据库里每列的值。
举例

public Connection getConnection() {
  if (connection == null) {
   try {
    Class.forName("com.mysql.jdbc.Driver");
    connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/ig","root","orcl");
   } catch (Exception e) {
    e.printStackTrace();
   }
  }
  return connection;
 }
 public Statement getStatement() {
  if (connection == null) {
   getConnection();
  }
  try {
   statement = connection.createStatement();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return statement;
 }

举例

public boolean select(User login) {  
  boolean boo =false;
  DbUtil dbUtil=new DbUtil();    
 try {
  Statement stm= dbUtil.getStatement();
  String sql="select * from user where username ='"+login.getName()+"' and  password ='"+login.getPassword()+"'";
  ResultSet rs =stm.executeQuery(sql);
  while(rs.next()) {
   String name = rs.getString("username");
   String password =rs.getString("password");   
   System.out.println("账号:"+name+",密码"+password+"."); 
   boo=true;
  }
  stm.close();  
 } catch (Exception e) {
  
  e.printStackTrace();
 }
 return boo;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值