Jndi技术简介
JNDI(Java Naming andDirectory Interface),Java命名和目录接口,它对应于J2SE中的javax.naming包,
这套API的主要作用在于:它可以把Java对象放在一个容器中(JNDI容器),并为容器中的java对象取一个名称,以后程序想获得Java对象,只需通过名称检索即可。
其核心API为Context,它代表JNDI容器,其lookup方法为检索容器中对应名称的对象。
编写自己的jdbc框架
元数据-DatabaseMetaData
元数据:数据库、表、列的定义信息。
Connection.getDatabaseMetaData()
DataBaseMetaData对象
getURL():返回一个String类对象,代表数据库的URL。
getUserName():返回连接当前数据库管理系统的用户名。
getDatabaseProductName():返回数据库的产品名称。
getDatabaseProductVersion():返回数据库的版本号。
getDriverName():返回驱动驱动程序的名称。
getDriverVersion():返回驱动程序的版本号。
isReadOnly():返回一个boolean值,指示数据库是否只允许读操作。
元数据-ParameterMetaData
PreparedStatement .getParameterMetaData()
• 获得代表PreparedStatement元数据的ParameterMetaData对象。
• Select * from user wherename=? And password=?
ParameterMetaData对象
• ()
• 获得指定参数getParameterCount的个数
• getParameterType(int param)
• 获得指定参数的sql类型
元数据-ResultSetMetaData
ResultSet. getMetaData()
• 获得代表ResultSet对象元数据的ResultSetMetaData对象。
ResultSetMetaData对象
• getColumnCount()
• 返回resultset对象的列数
• getColumnName(int column)
• 获得指定列的名称
• getColumnTypeName(int column)
• 获得指定列的类型
使用元数据简化JDBC代码
业务背景:系统中所有实体对象都涉及到基本的CRUD操作:
• 所有实体的CUD操作代码基本相同,仅仅发送给数据库的SQL语句不同而已,因此可以把CUD操作的所有相同代码抽取到工具类的一个update方法中,并定义参数接收变化的SQL语句。
• 实体的R操作,除SQL语句不同之外,根据操作的实体不同,对ResultSet的映射也各不相同,因此可义一个query方法,除以参数形式接收变化的SQL语句外,可以使用策略模式由qurey方法的调用者决定如何把ResultSet中的数据映射到实体对象中。
O-R Mapping简介
O-R Mapping映射工具
• Hibernate
• Ibatis
• Commons DbUtils(只是对JDBC简单封装)
本文详细介绍了JNDI(Java Naming and Directory Interface)技术及其在J2SE中的应用,包括如何使用Context进行Java对象管理,以及通过名称获取对象的方法。同时,文章深入探讨了元数据在JDBC框架中的作用,包括获取数据库元信息的方法如DatabaseMetaData、ParameterMetaData、ResultSetMetaData等。此外,还介绍了如何利用这些元数据简化JDBC代码,以及在业务场景中实现通用的CRUD操作和灵活的数据映射策略。最后,文章提到了几种流行的O-R Mapping工具,如Hibernate、Ibatis等,展示了它们在数据库操作中的优势。
1633

被折叠的 条评论
为什么被折叠?



