问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java.sql包中的Connection接口的“自定义类型映射”。

发布网友 发布时间:2022-05-18 11:16

我来回答

1个回答

热心网友 时间:2023-10-15 13:51

Oracle 官方网页上有这段解释,就是说我们如何把一个 SQL 东西翻译成一个 Java 类型的。比如,一个 Date 列翻译成 java.sql.Date,一个 number(1) 翻译成 boolean 而不是 integer。

至于如何使用这个类型映射,你先在调试模式下看一下它原来返回的 getTypeMap() 是什么样的,里面应该已经有默认的翻译,只是不支持自定义的 SQL Type,比如 Java 类型或其它数据库特有的类型。


Parameters:
columnIndex - the first column is 1, the second is 2, ...

map - a java.util.Map object that contains the mapping from SQL type names to classes in the Java programming language

Returns:
an Object in the Java programming language representing the SQL value

另外一段:说  connection.getTypeMap(); 演示我们把一个自定义的类型 mySchemaName.ATHLETES 的字段翻译成 Athletes 的 java 字段。

A user may create a new type map, which is a java.util.Map object, make an entry in it, and pass it to the java.sql methods that can perform custom mapping. In this case, the method will use the given type map instead of the one associated with the connection.
For example, the following code fragment specifies that the SQL type ATHLETES will be mapped to the class Athletes in the Java programming language. The code fragment retrieves the type map for the Connection objectcon, inserts the entry into it, and then sets the type map with the new entry as the connection's type map.
      java.util.Map map = con.getTypeMap();
      map.put("mySchemaName.ATHLETES", Class.forName("Athletes"));
      con.setTypeMap(map);


再说说写一个自己的自定义类型:

http://docs.oracle.com/javase/tutorial/jdbc/basics/sqlcustommapping.html


http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getObject(int,%20java.util.Map)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
奥迪a6l怎么用手机连接音响放歌,我的是华为 奥迪a6l蓝牙连接了,听歌没声音 2009年6月在农业银行办理30万等额本息为10年的商业房贷,7折,现在月供... 存量房贷七折七折政策 ...在农业银行贷款27万,等额本息打七折利率按揭20年,现在的利率每月应还... 我是第一套房,在农业银行不是公积金贷款27万元20年付清利息怎么算法... 在成都交通违章网上怎么办理的 成都违章罚款网上怎么交 成都交通违章罚款在哪里交 成都违章停车可以网上交罚款吗 Connect是一个接口,在main()中使用new Connect(){public void a(){。。。} }; 这句是什么意思 微信朋友圈发不出去是什么原因? c#中com,与conn区别是什么?? java里面Connection接口问题! 如何在qq发送离线文件 注册安全工程师每年报名都得重新审核吗? 华为nove3e横屏没反应,怎么弄都没反应,但是竖屏都没问题 无法旋转屏幕了怎么回事,已经打开了自动旋转,nova3? 七曰周期理财,3 8% 一天是多少利息 优酷中找的一段视频其中文字偏小 因为用用投影仪播放可能影响观看效果 请问如何使视频中字体变大 火车票当天买的,可以改签到明天吗。 火车票改签到近的地方退钱吗? 我们的火车票已经改签过了,但是明天也刚好吹台风停运了,怎么办 请问明天的火车票改签到今天的班次有座吗? 扫描全能王能不能看rar文件 在网上订了火车票。突然不想走。让老公去、改签成老公的要怎么改 我买了6号的硬卧火车票,现在因其他原因需要改签到20号可以吗? 智行客服24小时人工客服电话打不通 以前是我前妻在用的,实名认证过期,怎么办 胡巴叫什么名字 酱油 生抽 老抽哪种咸 接口不能实例化 但是可以声明一个变量 这是为什么? 比如说:Connection conn java.sql.connection 定义为接口有什么好处 JSP中stmt=conn.createStatement()是什么意思 怎么在电脑上直接登录 兔子的耳朵为什么比猫猫狗狗的耳朵短呢? 猫和兔子是一种动物吗? 夏夏季吃啥水果最好? 我家兔子跟邻居家的猫打架,耳朵受伤了,怎么处理? 自由幻想的兔耳猫耳是变装嘛= =?我是新手…… 女生戴猫耳朵和兔子耳朵哪个好啊?想逗逗男票,好久前就想这样了。 怎么在电脑上直接登录 vivo游戏中心十元无门槛一次发放几个 为什么用微信拉黑好友之后在黑名单里面找不到了?有些有些人为什么没有... 小米游戏超级会员无门槛优惠券战双帕弥什能用么? 找不到vivo积分兑换游戏礼券的页面 小米游戏超级会员的无门槛15优惠券怎么用啊 LPL无畏出征幸运抽奖10元无门槛券是什么 流延法的工艺是怎样的? 美团送菜到家有谁在种水果有群吗?