JDBC一些知识点

目录

JDBC概述:

概念: 

JDBC体系结构: 

获取数据库连接: 

使用PreparedStatement实现CRUD操作: 

操作: 

资源的释放: 

JDBC API小结: 


JDBC概述:

概念: 

JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql,javax.sql)使用这些类库可以以一种标准的方法、方便地访问数据库资源。

JDBC体系结构: 

JDBC接口(API)包括两个层次:
            面向应用的API:Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。
            面向数据库的API:Java Driver API,供开发商开发数据库驱动程序用。

获取数据库连接: 

要素一:Driver接口实现类
        加载与注册JDBC驱动
            加载驱动:加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名
                Class.forName(“com.mysql.jdbc.Driver”);
            注册驱动:DriverManager 类是驱动程序管理器类,负责管理驱动程序
                使用DriverManager.registerDriver(com.mysql.jdbc.Driver)来注册驱动
要素二:URL
        JDBC URL的标准由三部分组成,各部分间用冒号分隔。 
            jdbc:子协议:子名称
            协议:JDBC URL中的协议总是jdbc 
            子协议:子协议用于标识一个数据库驱动程序
            子名称:一种标识数据库的方法。子名称可以依不同的子协议而变化,用子名称的目的是为了定位数据库提供足够的信息。包含主机名(对应服务端的ip地址),端口号,数据库名
要素三:用户名和密码
        user,password可以用“属性名=属性值”方式告诉数据库
        可以调用 DriverManager 类的 getConnection() 方法建立到数据库的连接

使用PreparedStatement实现CRUD操作: 

操作: 

PreparedStatement
可以通过调用 Connection 对象的preparedStatement(String sql)方法获取 

ResultSet

ResultSet 对象以逻辑表格的形式封装了执行数据库操作的结果集,ResultSet 接口由数据库厂商提供实现

ResultSetMetaData  

 ResultSetMetaData meta = rs.getMetaData();获取结果集的元数据
        getColumnName(int column):获取指定列的名称
        getColumnLabel(int column):获取指定列的别名
        getColumnCount(): 返回当前 ResultSet 对象中的列数。
        getColumnTypeName(int column):检索指定列的数据库特定的类型名称。 
        getColumnDisplaySize(int column)指示指定列的最大标准宽度,以字符为单位。 
        isNullable(int column)指示指定列中的值是否可以为 null。 
        isAutoIncrement(int column) 指示是否自动为指定列进行编号,这样这些列仍然是只读的。

资源的释放: 

数据库连接(Connection)是非常稀有的资源,用完后必须马上释放,如果Connection不能及时正确的关闭将导致系统宕机。Connection的使用原则是尽量晚创建,尽量早的释放。

JDBC API小结: 

两种思想
        面向接口编程的思想
        ORM思想(object relational mapping)
            一个数据表对应一个java类
            表中的一条记录对应java类的一个对象
            表中的一个字段对应java类的一个属性
          > sql是需要结合列名和表的属性名来写。注意起别名。
两种技术
        JDBC结果集的元数据:ResultSetMetaData
            获取列数:getColumnCount()
            获取列的别名:getColumnLabel()
        通过反射,创建指定类的对象,获取指定的属性并赋值

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值