使用JDBC实现数据库访问

今天说说使用JDBC实现数据库访问

JDBC规范(掌握四个核心对象):

             DriverManager:用于注册驱动

             Connection: 表示与数据库创建的连接

             Statement: 操作数据库sql语句的对象

             ResultSet: 结果集或一张虚拟表

具体步骤:

第一步:加载mysql驱动Driver.class

<span style="font-size:14px;">//第一种方法:使用DriverManager的registerManager方法</span>
<span style="font-size:14px;">1.DriverManager.registerManager(new com.mysql.jdbc.Driver)</span>
<span style="font-size:14px;">//第一种方法会导致驱动被注册两次,并且强烈依赖数据库的驱动</span>
<span style="font-size:14px;">//第二种方法:使用反射</span>
<p><span style="font-family:Times New Roman;font-size:14px;">2.Class.forName("com.mysql.jdbc.Driver");</span></p>
<p><span style="font-size:14px;">整体的代码</span></p><p><span style="font-size:14px;">package com.qianfeng.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;</span></p><p><span style="font-size:14px;">import com.qianfeng.entity.Emp;</span></p><p><span style="font-size:14px;">public class Demo4 {</span></p><p><span style="font-size:14px;"> /**
  * 使用jdbc实现数据库的访问
  * @throws SQLException 
  * @throws SQLException 
  * @throws ClassNotFoundException 
  */
 public static void main(String[] args) {
  
  Connection conn = null;
  Statement st = null;
  ResultSet rs = null;
  try {
   // 1:加载mysql驱动  Driver.class
   //DriverManager.registerDriver(new com.mysql.jdbc.Driver());//不建议这样写
   Class.forName("com.mysql.jdbc.Driver");//加载Driver.class
   
   //2:创建和数据库的连接</span></p><p><span style="font-size:14px;">   //3个参数
     conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/db1","root", "root");
   //2个参数
    Properties pro = new Properties();
    pro.setProperty("user", "root");
    pro.setProperty("password", "root");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1", pro);
  
  //1个参数
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1?user=root&password=root");   </span></p><p><span style="font-size:14px;"></span> </p><p>
<span style="font-size:14px;">   //3:创建执行sql语句的对象
   st = conn.createStatement();
   
   //4:使用Statement对象执行sql语句
   rs = st.executeQuery("select job,mgr,empno,ename,hiredate from emp");
   
   List<Emp> list = new ArrayList<Emp>();
   //5:遍历结果集
   Emp emp = null;//5555
   while(rs.next())
   {
    emp = new Emp();
    int empno =rs.getInt("empno");
    String ename = rs.getString("ename");
    String job = rs.getString("job");
    int mgr = rs.getInt("mgr");
    Date date = rs.getDate("hiredate");
    
    emp.setEmpno(empno);
    emp.setEname(ename);
    emp.setJob(job);
    emp.setMgr(mgr);
    emp.setHiredate(date);
    list.add(emp);//5555 5555 5555
   }
   for(Emp em:list)
   {
    System.out.println(em);
   }
   //6:关闭资源
   rs.close();
   st.close();
   conn.close();
   
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  finally{
  if(rs!=null)
   try {
    rs.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  if(st!=null)
   try {
    st.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  if(conn!=null)
   try {
    conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }</span></p><p><span style="font-size:14px;">}</span></p>


 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值