?? cloudscapeidgenerator.java
字號:
package pl.test;
import java.sql.Connection;
/**
* ID generator for the Claudscape database.
*
* @author: Artem Rudoy
*/
public class CloudscapeIdGenerator extends AbstractHighLowIdGenerator
{
/**
* CloudscapeIdGenerator constructor.
*/
public CloudscapeIdGenerator()
{
super();
}
/**
* Return new high value.
*
* @return new high value
*/
protected long getNextHighValue(pl.map.ClassMap classMap) throws pl.PlException
{
Connection conn = null;
long highValue = 1;
java.sql.Statement st = null;
try
{
conn = classMap.getRelationalDatabase().getConnection();
//st = conn.getConnection().createStatement();
//st.execute("LOCK TABLES pl_id WRITE");
java.sql.PreparedStatement pst = conn.prepareStatement("SELECT last_high_value FROM pl_id");
java.sql.ResultSet rs = pst.executeQuery();
if (rs.next())
{
highValue = rs.getLong(1);
highValue++;
java.sql.PreparedStatement tPst = conn.prepareStatement("UPDATE pl_id " +
"SET last_high_value=?");
tPst.setLong(1, highValue);
tPst.executeUpdate();
tPst.close();
}
else
{
java.sql.PreparedStatement tPst = conn.prepareStatement("INSERT INTO pl_id " +
"(last_high_value) " +
"VALUES (?)");
tPst.setLong(1, highValue);
tPst.executeUpdate();
tPst.close();
}
pst.close();
rs.close();
//st.execute("UNLOCK TABLES");
//st.close();
classMap.getRelationalDatabase().freeConnection(conn);
}
catch (Throwable e)
{
//if(st != null)
//{
// try { st.execute("UNLOCK TABLES"); } catch(Throwable ex) {}
//}
throw new pl.PlException(e);
}
highValue <<= 16;
highValue &= 0xffffffffffff0000L;
return highValue;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -