(day19)数据库DAO

目标
    回顾 JDBC 的基本操作
 掌握 PreparedStatement 预编译 SQL 语句处理
 了解 JDBC 中的事务处理
 总结 JDBC API 结构
 了解项目中如何使用 JDBC 进行编程
 
1、回顾 JDBC 的基本操作
 (1)加载驱动 Class.forName("com.mysql.jdbc.Driver");
 (2)创建数据库连接
    Connection conn=DriverManager.getConnection(url,user,password);
 (3)得到发送 SQL 语句的 Statement 对象
       Statement stmt = conn.createStatement(); 
 (4)执行 SQL
    int row = stmt.executeUpdate(sql); //增删改
    ResultSet rs = stmt.executeQuery(sql);//查询
 (5)处理结果
       while(rs.next()){  //移动结果集表格中的指针
        rs.getInt("列名");
     rs.getString("time");  //time 在数据库中是 date|datetime
     //类型,从结果集取值是,可以看做字符类型
    }   
 (6)关闭所有打开的连接
 
2、掌握 PreparedStatement 预编译 SQL 语句处理
   java.sql.Statement 是一个基本的发送 SQL 语句的对象,
基本功能就是把 SQL 语句发送给数据库。
      Statement
     |
   PreparedStatement(继承自 Statemtent,扩展)
  
   在项目开发中,一个数据库访问类中,可能多个方法使用
同一句 SQL 语句,需要把 SQL 语句定义成 “成员变量”
  String sql = "insert into student(name,age) values(?,?)";

  这样的 SQL 语句,必须使用  PreparedStatement 来进行处理。
 
  使用 PreparedStatement 步骤:
  (1)新建一个带 ?  不定值的 SQL 语句
  (2)在数据库执行方法中,
  PreparedStatement stmt = conn.prepareStatement(sql2);
  (3)使用 stmt 对 SQL 语句中的 ? 赋值
    stmt.setXXXX(index,value); //选择合适的方法、注意?的位置
  (4)其他的执行方法与 Statement 对象一样。 

3、了解 JDBC 中的事务处理
    原子性、一致性、持久性、隔离性
 
 在 JDBC 代码中,同样允许同一个方法中,同时执行 多条
SQL 语句,这几条 SQL 语句是一个整体,要么都执行成功,
要么都执行失败。
 
 //启动事务处理
 conn.setAutoCommit(false);
 
 //执行多条 SQL 语句
 
 //把多条 SQL 语句作为整体发送给数据库
 conn.commit();
 
 try {
  //执行失败,回滚事务
  conn.rollback();
 } catch (SQLException e1) {
       System.out.println("程序错误,转账失败");
    e1.printStackTrace();
 }

4、总结 JDBC API 结构
 

5、了解项目中如何使用 JDBC 进行编程 
   对得到数据库连接对象以及关闭对象的代码进行重构。
   原则:让专门的类做专门的事情。
  
   建立专门的数据库连接对象的创建类--数据库连接工厂类
  

附录:
  操作系统的时间  java.util.Date
  数据库中的时间  java.sql.Date
 
  //两个时间有同样的起点,可以把各自转化为 距起始时间的
  //毫秒数后,直接转化
  java.util.Date dt = new java.util.Date();
  java.sql.Date dt2 = new java.sql.Date(dt.getTime());
 
 
 
任务:
(1)掌握 PreparedStatement 对象的使用方法
(2)掌握数据库连接工厂类的使用方法
(3)完成指定接口的数据库方法实现 
 
 
 
 
 
 
 
 

 

 

你可能感兴趣的:((day19)数据库DAO)