ost*_*try 5 java postgresql jdbc
我正在使用一些以通用方式执行数据库操作的遗留代码,以便用户/开发人员可以通过仅更改JDBC驱动程序来使用不同的数据库.
我有PostgreSQL JDBC驱动程序的问题.我的测试用例:
//ddl
CREATE TABLE test
(
id numeric,
name text,
)
//java code
String sqlCmd = "INSERT INTO test values (?, ?)";
PreparedStatement ps = connection.prepareStatement( sqlCmd );
ps.setString( 1, "1" );
ps.setString( 1, "name1" );
ps.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
使用Postgres,这种情况的结果是一个带有消息的异常:"无法将字符串转换为int ..."
PreparedStatement.setString()用于设置数据库期望数值的值是不合适的吗?我是否应该期望JDBC驱动程序自动将java类型转换为数据库类型?
此测试通过其他数据库,包括H2和MySQL.PostgreSQL的失败是否反映了JDBC驱动程序中的错误?是否可以在不更改代码的情况下使此案例有效?
| 归档时间: |
|
| 查看次数: |
5960 次 |
| 最近记录: |