讲师笔记,Java基础学习之路之day28——jdbc02

获取主键:
    当用自增长的主键 添加数据 时,添加成功后 需要获取当前记录的自增长的值
    注册 
    insert into t_user(name,password) values(?,?)
    展示用户个人信息
    select * from t_user where id=?
    
    预编译时期 告知 需要 获取主键:
    ps = conn.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);
    获取生成的主键:
    rs = ps.getGeneratedKeys();    

-------------------------------------------------------

批处理 batch
    采用一次性发送多条sql语句的方式 来访问数据库
    
    常用方法:
        addBatch(): 添加sql到批处理中
        executeBatch(): 执行批处理

--------------------------------------------------------

获取结果集的元数据 MetaData
    ResultSetMetaData rsmd = rs.getMetaData();
    常用方法:
        getColumnCount():获取列的数量
        getColumnName(int column):获取列的名称 通过下标来取
        getColumnTypeName(int column):获取列的类型名称 通过下标来取

数据库连接池dbcp
    database connection pool
    作用: 通过连接池获取连接对象,比需要的时候再去创建连接 性能更优
    
    jvm先在程序空闲的时候,一次性向数据库请求多个连接,存放在本地的连接池,
    当需要使用连接时,直接从连接池中取出即可,用完调用close()再放回去。
    
    实现:
    需要数据源BasicDataSource 来获取连接对象
        要使用BasicDataSource(不是jdk的类)是第三方的类
        添加两个jar文件:
            commons-dbcp.jar 
            commons-pool.jar  是commons-dbcp.jar的依赖包
            dbcp.jar中的一些类 会 引用 到 pool.jar中的类和方法

---------------------------------------------------------

Dao 数据的操作
    Dao (data access object)
    dao包中的所有类 都是用来访问数据库的
    这个包中的每个类 的每个方法 对应的都是对表的操作
    将一张表的操作 放到同一个类中
    
实体类 javabean 
    数据库中的每一个表 都要在后台建立一个类
    
    t_user表                 User (实体类)
    id                Integer id
    name            String name
    password        String password
    createDate        Date createDate
    
    实体类需要满足标准的规范:
        1.属性私有化
        2.公开的set/get方法
        3.无参构造
        4.所有参数构造
        5.实现serializable
    
    作业要求:
        使用JDBCUtil完成Dao层代码
        1.添加三个jar包
        2.配置文件 db.properties
        3.create.sql
            create table t_user(
                ....
                createDate date
            );
        4.添加 JDBCUtil

猜你喜欢

转载自blog.csdn.net/u011189148/article/details/81417236