当我打印隔离级别时
DatabaseMetaData dbMetaData = conn.getMetaData();
if (dbMetaData .supportsTransactionIsolationLevel(Connection.TRANSACTION_SERIALIZABLE)) {
System.out.println("Transaction Isolation level= "
+ conn.getTransactionIsolation());
System.out.println(dbMetaData.getDefaultTransactionIsolation());
}
连接我得到一个整数值4 对于数据库,我得到一个值2
我想将隔离级别设置为SERIALIZABLE,因为它似乎适用于大多数问题(这是我听到的反正: - /)但我不知道如何将其设置为要求int值
conn.setTransactionIsolation(level);
整数级别引用什么以及事务级别的顺序是什么?我正在使用mysql数据库
答案 0 :(得分:2)
Connection
类应该将所有隔离级别定义为常量。转到Javadoc,您可以看到常量。
conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE );
注意:TRANSACTION_SERIALIZABLE可能不是您想要的。我建议你阅读this tutorial。
打印可读字符串
String getReadableLevel(int isolation)
{
String result="";
switch(isolation)
{
case Connection.TRANSACTION_SERIALIZABLE: result="TRANSACTION_SERIALIZABLE";break;
...//u get the idea
}
return result;
}