暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

使用JDBC访问磐维数据库时,支持匿名块和绑定变量写法吗?

原创 飞天 2024-07-18
2641

问题起因

前几天一个朋友问到这样的问题:

image.png

手头正好有个磐维2.0(兼容A模式)的单机版数据库,下面编写java代码连接测试环境的磐维数据库来测试一下!

测试环境说明

磐维数据库:2.0.0单机版
jdbc驱动:PanWeiDB-V2.0-JDBC-2.0.2_B02.tar.gz
jdk版本:1.8

创建测试库和表

create database yewudb1;
create user testusr with password 'Wel%1234';
create table testtab(id int,d1 timestamp,d2 timestamp);

编写JAVA测试代码

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DbTest {
    public static void main(String[] args) {
        String sql = "declare "
                +"i_home_city number ( 3 );"
                +"BEGIN "
                +"INSERT INTO testtab values ( ? , TO_DATE ( ? , 'yyyy-MM-dd HH24:mi:ss' ) , TO_DATE ( ? , 'yyyy-MM-dd HH24:mi:ss' ) );"
                +"COMMIT; "
                +"END;";
        Properties properties = new Properties();
        properties.put("user", "testusr");
        properties.put("password", "Wel%1234");
        Connection connection = null;
        try {
            connection = DriverManager.getConnection("jdbc:panweidb://192.*.*.*:17700/yewudb1?currentSchema=testusr&useUnicode=true&characterEncoding=utf-8", properties);
            CallableStatement cs =connection.prepareCall(sql);
            cs.setObject(1,1);
            cs.setObject(2,"2024-05-12 10:00:00");
            cs.setObject(3,"2024-05-12 10:00:00");
            cs.execute();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

注意:
由于我是连接单实例数据库环境测试的,所以jdbc连接串里面没写连接到master节点,实际生产环境中jdbc连接串需要这么写:jdbc:panweidb://10.xx.xx.1:17700,10.xx.xx.2:17700,10.xx.xx.3:17700/database_name?targetServerType=master&currentSchema=schema_name&useUnicode=true&characterEncoding=utf-8

运行java测试代码

使用开发工具运行即可。

测试结果

912794981f06fba9e9f22e3ead01345.jpg
可以看出,运行java代码之后,数据已经成功插入到表里面了。

结论

使用jbdc访问磐维数据库(兼容A模式)时,是支持匿名块和绑定变量写法的。

最后修改时间:2024-07-19 10:23:43
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论