日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

iBatis应用之获取表的元数据

發(fā)布時間:2025/7/14 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iBatis应用之获取表的元数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

iBatis是一種半ORM,為程序員提供了較大的靈活性,今天就展示一在iBatis中獲取表元數(shù)據(jù)的例子, 所謂表的元數(shù)據(jù)就就是關于表的數(shù)據(jù)的數(shù)據(jù),在一個特殊的應用場合需要查出了指定SQL中包含的字段的信息, 包括:字段類型和長度定義, 我這里的sqlMapClient是由Spring注入的。
public void ShowFieldType(String sql) throws Exception{ DataSource dataSource = this.sqlMapClient.getDataSource(); Connection con = dataSource.getConnection(); Statement stmt = null; ResultSet rs = null; try { stmt = con.createStatement(); rs = stmt.executeQuery(sql); ResultSetMetaData rsMetaData = rs.getMetaData(); int columnCount = rsMetaData.getColumnCount(); for (int i = 1; i <= columnCount; i++) { logger.info("field Name:"+ rsMetaData.getColumnName(i)+ ? ?" field Type:"+rsMetaData.getColumnTypeName(i)+ " size:"+rsMetaData.getColumnDisplaySize(i)); } } catch (SQLException e) { e.printStackTrace(); } finally { rs.close(); stmt.close(); con.close(); } } 測試類: ITestDBDao dao = (ITestDBDao)SystemBeans.getBean("testdbDaoDean"); //給定一個SQL,為了提高效率不查數(shù)據(jù),因此使用了一個where 1=2條件 dao.ShowFieldType("select * from ices_cc_data where 1=2");
運行結果: INFO [main] [2011-09-04 15:57:18] field Name:ID field Type:INTEGER size:11 INFO [main] [2011-09-04 15:57:18] field Name:NE_NAME field Type:VARCHAR size:30 INFO [main] [2011-09-04 15:57:18] field Name:CYCLE field Type:BIGINT UNSIGNED size:20 INFO [main] [2011-09-04 15:57:18] field Name:CC_ID field Type:INTEGER size:11 INFO [main] [2011-09-04 15:57:18] field Name:CALL_PHASE field Type:INTEGER size:11 INFO [main] [2011-09-04 15:57:18] field Name:CC_TOTAL_VALUE field Type:INTEGER size:11 INFO [main] [2011-09-04 15:57:18] field Name:CC_VALUE field Type:INTEGER size:11
運行結果中列出了ices_cc_data表的所有字段名和字段長度 其實 SqlMapClient提供了getCurrentConnection()方法,但是測試發(fā)現(xiàn),該方法返回的結果為null,這一點很奇怪, 所以只好返回DataSource()然后再獲取一個Connection()

轉載于:https://my.oschina.net/u/179641/blog/31830

總結

以上是生活随笔為你收集整理的iBatis应用之获取表的元数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。