jdbc应用02

本文介绍了使用JDBC连接数据库的方法,包括初始化连接、执行SQL语句、处理结果集及资源关闭流程。还讨论了使用配置文件管理常量字符串的设计思想,以及JDBC工具类的实现。此外,文章涉及了数据库表设计、SQL查询、事务控制和分页查询等概念,并通过实例展示了如何将Java对象映射到数据库表。最后,文章提到了面向对象设计在数据库访问中的应用,如DAO模式及其在数据访问中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jdbc  java连接数据库的方式 
      android  ContentProvider 访问数据库
     
     
Jdbc (Java) 一组接口 
    java.sql.*
   
    Connection
    Statement|PreparedStatement
    ResultSet
   
不同的数据库厂商 提供 Jdbc接口的实现
    mysql-connector-java-5.0.5-bin.jar 

jdbc编程步骤 
    1)  Class.forName("com.mysql.jdbc.Driver");
        Connection c = DrvierManager.getConnection("jdbc:mysql://localhost:3306/xxx","","");

    2) String sql = "select deptno,dname from xx where name = ?";
       PreparedStatement pstmt = c.prepareStatement(sql);
       pstmt.setXXX(1,xxx);
       pstmt.executeUpdate();
       ResultSet rs = pstmt.executeQuery();


    3) while(rs.next()){
           rs.getInt(1);
           rs.getString(2);
       }
      
    4)  关闭资源
        rs.close()
        pstmt.close()
        conn.close()
  
JdbcUtil工具类
    1  getConnection(){
        Class.forName("com.xxx");
        DriverManager.getConnection(,"","");
       }
    2  release(){
         rs.close();
         pstmt.close();
         conn.close();
       }
      
  xxx.properties
  key = value
 
  java.util.Properties
  properties.load(is);  
 
  properties.getProperty(); 
      
设计思想 :
   当程序中 出现经常需要修改的字符串
    那么把字符串转移到配置文件中

----------------------------------
作业:
   1  能不能 用相对路径的方式  获得 输入流
      corejava
        .class.getResourceAsStream("");
            相对路径 src根   
       
      javaweb (Servlet Jsp)
     
     
    2 代码分析 用户
      1) 用户页面
      2) java程序 (业务,功能)
      3) 数据库 table (数据)  
        
          开发过程 3--2---1
         
         
       create table t_user(
         id int auto_increment primary key,
         name varchar(12),
         password varchar(12)
       );  
      
       insert into t_user (name,password) values ('suns','123456');
       insert into t_user (name,password) values ('xiaohei','888888');
         
         
-----------------------------------------------------------------------------
补充开发技巧
   1  分页查询 
      Mysql 
        select empno,ename,sal from emp limit 0,5;
   2  事务控制
                事务控制语句
               
        mysql set autocommit = 0;
       
        commit / rollback
       
       
        Jdbc
           Connection.setAutCommit(false);  开启事务
          
           Connection.commit();
           Connection.rollback();
          
               
--------------------------------------------
DAO  data access object 
           数据        访问         对象
          
  封装 ---> 访问数据库的代码 (jdbc)          
          
 DAO  封装java访问数据库代码的类   
 
 
 1 面向对象 体会  
   java --- >  String name
               int age 
              
              
   mysql  ---->  表          
  
            jdbc
   java 对象 ----  database 表      
          
          
          
   public class Stduent{
     private int id;
     private String name;
     private int score;
   }       
   s1.id = 10 ,s1.name = "suns", s1.score=10;
   s2.id = 10 ,s2.name = "suns", s2.score=10;
  
  
   t_student
    id   name  score       
     10  suns1  10     
     10  suns1  10
          
                         对象        数据库              对应  
      ORM  object relationship mapping
    1 类 --- Table
    2 属性 ---  Column
    3 对象 ----  Row

    专门对应表格的类 ---->  实体类 --- POJO 
   
   
  DAO类 封装 访问数据库的代码  
    
     public class UserDAO{
    
     }
    
     public class AccountDAO{
    
     }
    
-----------------------------------------
 1 创建实体类
 2 创建实体类 对应的 DAO  
    
  List  有序 可重复  
    List.add(user1); index = 0
    List.add(user2); index = 1
  Set   无序 不可重复
    Set.add(user1);
    Set.add(user2);
 
 
  Map   key = value  1 = User1
                     2 = User2
  如果对集合应用查找  优先 1  Map
   key = value  优先 2  Map      
        
--------------------------------------
  设计角度 DAO 
  1 DAO 定义成接口
 
    UserDAO接口
    UserDAOImpl 
   
    UserDAO
          把一个类 定义成接口 原因:这个类可能有多种实现

    Connection sun 接口
                  
             
  


   UserDAO
      save(User u )
     
     
   UserDAOImpl
     save(User u ){
       Connection
       PreparedStatement
       ResultSet
       sql
     }  
   UserDAOImp
     save(User u){
       session.save(u);
     }

  设计模式 工厂设计模式
     生产产品
     生产对象  
  
  
-------------------------------------
bank 
  1 注册
  2 登陆
  3 显示所有账户信息
  4 转账


  t_account
    id  name password balance  
    
  
  DAO  --->  DAOFactory创建


         
          
  
  
  
   
         
           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值