doma java_Java Message.DOMA2018屬性代碼示例

本文整理匯總了Java中org.seasar.doma.message.Message.DOMA2018屬性的典型用法代碼示例。如果您正苦於以下問題:Java Message.DOMA2018屬性的具體用法?Java Message.DOMA2018怎麽用?Java Message.DOMA2018使用的例子?那麽恭喜您, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類org.seasar.doma.message.Message的用法示例。

在下文中一共展示了Message.DOMA2018屬性的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。

示例1: getNewInitialValue

​點讚 3

@Override

protected long getNewInitialValue(final IdGenerationConfig config) {

RequiresNewController controller = config.getRequiresNewController();

try {

Long value = controller

.requiresNew(new RequiresNewController.Callback() {

@Override

public Long execute() {

updateId(config, updateSql);

return selectId(config, selectSql);

}

});

return value - allocationSize;

} catch (Throwable t) {

throw new JdbcException(Message.DOMA2018, t, config.getEntityType()

.getName(), t);

}

}

開發者ID:domaframework,項目名稱:doma,代碼行數:19,

示例2: getGeneratedValue

​點讚 3

/**

* 生成された識別子を取得するSQLを実行します。

*

* @param config

* 識別子生成の設定

* @param sql

* 生成された識別子を取得するSQL

* @return SQLにより取得された値

* @throws JdbcException

* 生成された識別子の取得に失敗した場合

*/

protected long getGeneratedValue(IdGenerationConfig config, Sql> sql) {

JdbcLogger logger = config.getJdbcLogger();

Connection connection = JdbcUtil.getConnection(config.getDataSource());

try {

PreparedStatement preparedStatement = JdbcUtil.prepareStatement(

connection, sql);

try {

logger.logSql(getClass().getName(), "getGeneratedId", sql);

setupOptions(config, preparedStatement);

ResultSet resultSet = preparedStatement.executeQuery();

return getGeneratedValue(config, resultSet);

} catch (SQLException e) {

throw new JdbcException(Message.DOMA2018, e, config

.getEntityType().getName(), e);

} finally {

JdbcUtil.close(preparedStatement, logger);

}

} finally {

JdbcUtil.close(connection, logger);

}

}

開發者ID:domaframework,項目名稱:doma,代碼行數:32,

示例3: updateId

​點讚 2

/**

* 識別子を更新します。

*

* @param config

* 識別子生成の設定

* @param sql

* 更新用SQL

* @throws JdbcException

* 識別子の更新に失敗した場合

*/

protected void updateId(IdGenerationConfig config, PreparedSql sql) {

JdbcLogger logger = config.getJdbcLogger();

Connection connection = JdbcUtil.getConnection(config.getDataSource());

try {

PreparedStatement preparedStatement = JdbcUtil.prepareStatement(

connection, sql);

try {

logger.logSql(getClass().getName(), "updateId", sql);

setupOptions(config, preparedStatement);

preparedStatement.setLong(1, allocationSize);

preparedStatement.setString(2, pkColumnValue);

int rows = preparedStatement.executeUpdate();

if (rows != 1) {

throw new JdbcException(Message.DOMA2017, config

.getEntityType().getName());

}

} catch (SQLException e) {

throw new JdbcException(Message.DOMA2018, e, config

.getEntityType().getName(), e);

} finally {

JdbcUtil.close(preparedStatement, logger);

}

} finally {

JdbcUtil.close(connection, logger);

}

}

開發者ID:domaframework,項目名稱:doma,代碼行數:36,

示例4: selectId

​點讚 2

/**

* 識別子を取得します。

*

* @param config

* 識別子生成の設定

* @param sql

* 取得用SQL

* @return 取得した識別子

* @throws JdbcException

* 識別子の取得に失敗した場合

*/

protected long selectId(IdGenerationConfig config, PreparedSql sql) {

JdbcLogger logger = config.getJdbcLogger();

Connection connection = JdbcUtil.getConnection(config.getDataSource());

try {

PreparedStatement preparedStatement = JdbcUtil.prepareStatement(

connection, sql);

try {

logger.logSql(getClass().getName(), "selectId", sql);

setupOptions(config, preparedStatement);

preparedStatement.setString(1, pkColumnValue);

ResultSet resultSet = preparedStatement.executeQuery();

if (resultSet.next()) {

Object result = resultSet.getObject(1);

if (result instanceof Number) {

return ((Number) result).longValue();

}

}

throw new JdbcException(Message.DOMA2017, config

.getEntityType().getName());

} catch (SQLException e) {

throw new JdbcException(Message.DOMA2018, e, config

.getEntityType().getName(), e);

} finally {

JdbcUtil.close(preparedStatement, logger);

}

} finally {

JdbcUtil.close(connection, logger);

}

}

開發者ID:domaframework,項目名稱:doma,代碼行數:40,

示例5: getGeneratedValue

​點讚 1

/**

* {@link Statement#getGeneratedKeys()} を使用してデータベースで生成された値を取得します。

*

* @param config

* 識別子生成の設定

* @param statement

* INSERT文を実行した {@link Statement}

* @return 識別子

* @throws JdbcException

* 識別子の取得に失敗した場合

*/

protected long getGeneratedValue(IdGenerationConfig config,

Statement statement) {

try {

final ResultSet resultSet = statement.getGeneratedKeys();

return getGeneratedValue(config, resultSet);

} catch (final SQLException e) {

throw new JdbcException(Message.DOMA2018, e, config.getEntityType()

.getName(), e);

}

}

開發者ID:domaframework,項目名稱:doma,代碼行數:21,

注:本文中的org.seasar.doma.message.Message.DOMA2018屬性示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值