MVC-JDBC的工作流程

作者: 您好简书 | 来源:发表于2019-03-18 23:30 被阅读7次
<a class="btn btn-sm btn-red-hollow attention" id="btnAttent" target="_blank">更多免费教学文章<font color="blue" size="2">请关注这里</font></a> 在这里插入图片描述
//package com.neusoft.demo27;
//
//import java.sql.Connection;
//import java.sql.DriverManager;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import java.sql.Statement;
//import java.util.ArrayList;
//import java.util.List;
//
//
///**
// * JDBC:它是连接数据库的一种技术(持久层的技术) 文档中会提供相应的API 1.DriverManager:驱动管理器 需要调用 public
// * static Connection getConnection(String url, String user, String password)
// * throws SQLException 来连接数据库 2.Connection接口:使用连接数据库的接口
// * 3.Statement接口用于执行静态的SQL语句 4.ResultSet接口结果集:用于保存查询到的结果
// * 
// * 优点:速度快
// * 
// * 缺点:
// * 1.JDBC不是完全面向对象编程的,它是面向关系型数据库来编程的。
// * 2.代码的重复性的操作太多
// * 
// * 
// * JDBC如何设置对事物的提交方式:
// * void setAutoCommit(boolean autoCommit) 将此连接的自动提交模式设置为给定状态。
// * 参数autoCommit:true启动自动提交模式       false禁用自动提交
// * 如果setAutoCommit(false)  在DML操作的时候一定要调用Connection接口中的commit()方法来提交事物
// * 
// * 注意:JDBC中事物的提交方式默认为:setAutoCommit(true)
// * @author ttc
// */
//public class JDBCDemo {
//  Connection conn;
//  PreparedStatement pstmt;
//  ResultSet rs;
//  /**
//   * 1.连接数据库
//   * 
//   * @throws ClassNotFoundException
//   * @throws SQLException
//   */
//  public void getConnection() throws ClassNotFoundException, SQLException {
//      // 1.加载驱动程序
//      Class.forName("com.mysql.jdbc.Driver");
//      // 2.获取连接
//      conn = DriverManager
//              .getConnection("jdbc:mysql://localhost:3306/orcl?useUnicode=true&characterEncoding=utf8", "root", "");
//      
////        stmt = conn.createStatement();
//      System.out.println("connection success!!!");
//  }
//
//  /**
//   * 2.查询
//   * select * from emp where empno=? and ename=?
//   * @throws SQLException 
//   */
//  public ResultSet queryInfo(String sql,Object...values) throws SQLException {
//      pstmt = conn.prepareStatement(sql);
//      for(int i = 0;i<values.length;i++){
//          pstmt.setObject(i+1, values[i]);
//      }
////        pstmt.setInt(1, 7566);
////        pstmt.setString(2, "JONE");
//      rs = pstmt.executeQuery();
////        rs = stmt.executeQuery(sql);
//      return rs;
//  }
//  /**
//   * 3.DML(insert update delete)
//   * @throws SQLException 
//   */
//  public int updateInfo(String sql) throws SQLException{
//      return stmt.executeUpdate(sql);
//  }
//  /**
//   * 4.释放资源(关闭连接)
//   * @throws SQLException 
//   */
//  public void close() throws SQLException {
//      if(rs!=null) {
//          rs.close();
//      }
//      if(stmt!=null) {
//          stmt.close();
//      }
//      if(conn!=null) {
//          conn.close();
//      }
//  }
//  public static void main(String[] args) {
////        JDBCDemo jdbcDemo = new JDBCDemo();
////        try {
////            jdbcDemo.getConnection();
////            ResultSet rSet = jdbcDemo.queryInfo("select * from emp");
////            List<Emp> list = new ArrayList<>();
////            while (rSet.next()) {
////                Emp emp = new Emp();
////                // 获取到当前行的列数以对象的方式来保存
////                emp.setEmpno(rSet.getInt("empno"));
////                emp.setEname(rSet.getString("ename"));
////                emp.setJob(rSet.getString("job"));
////                // 将Emp对象保存到集合中
////                list.add(emp);
////            }
////            System.out.println(list.size());//14
////            System.out.println("------------------------updateInfo-----------------------------start");
////            int i = jdbcDemo.updateInfo("insert into e values(2,'jazz','adf')");
////            System.out.println(i);
////            System.out.println("------------------------updateInfo-----------------------------end");
////            
////            jdbcDemo.close();
////        } catch (ClassNotFoundException e) {
////            // TODO Auto-generated catch block
////            e.printStackTrace();
////        } catch (SQLException e) {
////            // TODO Auto-generated catch block
////            e.printStackTrace();
////        }
//
//      try {
//          // 1.加载驱动程序
//          Class.forName("com.mysql.jdbc.Driver");
//          // 2.获取连接
//          Connection conn = DriverManager.getConnection(
//                  "jdbc:mysql://localhost:3306/orcl?useUnicode=true&characterEncoding=utf8", "root", "");
//          // 3.获取Statement接口用于执行静态的SQL语句
////            Statement stmt = conn.createStatement();// 创建一个 Statement 对象来将 SQL
////                                                    // 语句发送到数据库。
//          //PreparedStatement预处理(可以执行动态的SQL)?只是一个占位符号
//          PreparedStatement pstmt = conn.prepareStatement("select * from emp where empno=? and ename=?");
//          pstmt.setInt(1, 7369);//第一个参数表示第几个?    第二个参数?所对应的值
//          pstmt.setString(2, "SMITH");
//          // 4.执行查询并将结果保存到ResultSet结果集中
//          ResultSet rs = pstmt.executeQuery();
//          
//          // 5.对结果集进行遍历操作
//          List<Emp> list = new ArrayList<>();
//          while (rs.next()) {
//              Emp emp = new Emp();
//              // 获取到当前行的列数以对象的方式来保存
//              emp.setEmpno(rs.getInt("empno"));
//              emp.setEname(rs.getString("ename"));
//              emp.setJob(rs.getString("job"));
//              // 将Emp对象保存到集合中
//              list.add(emp);
//          }
//
//          for (Emp emp : list) {
//              System.out.println(emp.getEmpno() + "--" + emp.getJob());
//          }
//          // 6.关闭资源
//          rs.close();
//          pstmt.close();
//          conn.close();
//      } catch (ClassNotFoundException e) {
//          // TODO Auto-generated catch block
//          e.printStackTrace();
//      } catch (SQLException e) {
//          // TODO Auto-generated catch block
//          e.printStackTrace();
//      }
//
//  }
//
//}

相关文章

网友评论

    本文标题:MVC-JDBC的工作流程

    本文链接:https://www.haomeiwen.com/subject/xczimqtx.html