zoukankan      html  css  js  c++  java
  • 编写JDBC框架优化CRUD操作

    Tip:元数据- DataBaseMetaData
    元数据:数据库、表、列的定义信息。

    Connection.getDatabaseMetaData()

    DataBaseMetaData对象

    getURL():返回一个String类对象,代表数据库的URL。

    getUserName():返回连接当前数据库管理系统的用户名。

    getDatabaseProductName():返回数据库的产品名称。

    getDatabaseProductVersion():返回数据库的版本号。

    getDriverName():返回驱动驱动程序的名称。

    getDriverVersion():返回驱动程序的版本号。

    isReadOnly():返回一个boolean值,指示数据库是否只允许读操作。

    Tip:元数据- ParameterMetaData 
    PreparedStatement . getParameterMetaData()

    获得代表PreparedStatement元数据的ParameterMetaData对象。

    Select * from user where name=? And password=?

    ParameterMetaData对象

    getParameterCount()

    获得指定参数的个数

    getParameterType(int param)

    获得指定参数的sql类型

    原来由jdbcUtil创建连接,现在由dataSource创建连接,为实现不和具体数据为绑定,因此datasource也应采用配置文件的方法获得连接。

    Tip:元数据- ResultSetMetaData 
    ResultSet. getMetaData()

    获得代表ResultSet对象元数据的ResultSetMetaData对象。

    ResultSetMetaData对象

    getColumnCount()

    返回resultset对象的列数

    getColumnName(int column)

    获得指定列的名称

     getColumnTypeName(int column)

    获得指定列的类型

    Tip:使用元数据简化JDBC代码
    业务背景:系统中所有实体对象都涉及到基本的CRUD操作:

    所有实体的CUD操作代码基本相同,仅仅发送给数据库的SQL语句不同而已,因此可以把CUD操作的所有相同代码抽取到工具类的一个update方法中,并定义参数接收变化的SQL语句。

    实体的R操作,除SQL语句不同之外,根据操作的实体不同,对ResultSet的映射也各不相同,因此可义一个query方法,除以参数形式接收变化的SQL语句外,可以使用策略模式由qurey方法的调用者决定如何把ResultSet中的数据映射到实体对象中。

    Tip:O-R Mapping简介
    什么是O-R  Mapping

    常用O-R Mapping映射工具

    Hibernate

    Ibatis

    Commons DbUtils(只是对JDBC简单封装)
    转自:http://www.cdtarena.com/javapx/201304/8396.html

  • 相关阅读:
    H5页面跳到安卓APP和iosAPP
    JS location.href传参及接受参数
    获取当前日期及对应星期
    前端获取当前一周时间 数组形式
    Java基础(四) Object 数组转成 String 数组
    定时任务cron表达式详解
    jquery如何删除数组中的一个元素?
    Mybatis Mapper.xml 需要查询返回List<String>
    oracle的 listagg() WITHIN GROUP () 行转列函数的使用
    如何修改Oracle中表的字段长度?
  • 原文地址:https://www.cnblogs.com/cdtarena/p/3040421.html
Copyright © 2011-2022 走看看