java的数据库连接技术

来源:互联网 发布:java 防止url转码 编辑:程序博客网 时间:2024/05/29 18:28



java连接数据库处理的基本步骤为:

1.加载驱动 : Class.forName("数据库驱动处理类全类名"); 

2.连接数据库: Connection con = DriverManager.getConnection("数据库连接url", "数据库连接用户名", "数据库连接密码");


3.创建sql语句执行平台 Statement st = con.createStatement();


4.执行sql语句

    a.从数据库取数据到程序select

             执行sql语句获得数据集ResultSet rs = st.executeQuery(sql);
            while(rs.next()){
                 rs.getInt(字段所在的列,起始位置1)或rs.getInt(字段名)
                 ...
                 rs.getXxx(字段所在的列,起始位置1)或rs.getXxx(字段名)  Xxx表示字段值兼容的数据类型
             }

     b.从程序中操作数据库的数据insert/update/delete

             执行sql语句获得数据库表中受影响的行数 int rows = st.executeUpdate(sql);
 
5.关闭操作
 rs.close(); //只有当是查询数据操作(select)时,才处理
 st.close();
 con.close();




如:java连接oracle数据库处理


1.从数据库取数据到程序select

  Connection con = null;

  Statement st = null;

  ResultSet rs = null;

  try {

   Class.forName(DRIVER_CLASS_NAME); // 加载驱动

   con = DriverManager.getConnection(URL, USERNAME, PASSWORD);// 建立数据库连接

   st = con.createStatement(); // 创建数据库sql语句执行平台

   String sql = "select * from users where username='" + username + "' and password='" + password + "'";

   rs = st.executeQuery(sql); // 执行sql语句取到返回的数据集

   if(rs.next()){

      int id = rs.getInt(1);

      String username = rs.getString(2);

      String password = rs.getString("password");

      System.out.println("用户编号:" + id + ", 用户名:" + username + ", 密码:" + password);

    }

  } catch (ClassNotFoundException e) {

   LOG.error("加载数据库驱动失败!!!", e);

  } catch (SQLException e) {

   LOG.error("连接数据库失败!!!", e);

  } finally {

   try {

    if (rs != null) {

     rs.close();

    }

    if (st != null) {

     st.close();

    }

    if (con != null) {

     con.close();

    }

   } catch (SQLException e) {

    LOG.error("关闭数据库操作失败!!!", e);

   }

  }


2.从程序中操作数据库的数据insert/update/delete

  Connection con = null;

  Statement st = null;

  try {

   Class.forName(DRIVER_CLASS_NAME); // 加载驱动

   con = DriverManager.getConnection(URL, USERNAME, PASSWORD);// 建立数据库连接

   st = con.createStatement(); // 创建数据库sql语句执行平台

   String sql = "insert into users values(seq_user.nextval, '"+user.getUsername()+"', '"+user.getPassword()+"')";

   int rows = st.executeUpdate(sql);  //返回受影响的行数(数据库操作的表中,有几条记录受到了影响)

   if(rows > 0){

      System.out.println("操作成功...");

    }else{

      System.out.println("操作失败...");

   }

  } catch (ClassNotFoundException e) {

   LOG.error("加载数据库驱动失败!!!", e);

  } catch (SQLException e) {

   LOG.error("连接数据库失败!!!", e);

  } finally {

   try {

    if (st != null) {

     st.close();

    }

    if (con != null) {

     con.close();

    }

   } catch (SQLException e) {

    LOG.error("关闭数据库操作失败!!!", e);

   }

  }


原创粉丝点击