問題タブ [apache-commons-dbutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
457 参照

java - Java で同じ ResultSet を持つ複数の jTable

jTable同じものを複数入力できますresultSetか?

コードはコンパイルされますが、2 番目のテーブルは DB からレコードを取得しません。ポイントは、mySql テーブルからランダムな項目を選択する必要があり、それらをいくつかに表示したいということですjTables

0 投票する
2 に答える
3044 参照

java - DBUtils が Java Bean のフィールドに入力できない

次のようなmysqlテーブルがあります。

次の方法で、apache dbutils を使用してデータベースにクエリを実行します。

ここで、アプリケーションを実行しても例外はスローされませんが、Java Bean の一部のフィールド (すべてではない!)SezioneMenuが空です (整数フィールドはゼロに等しく、文字列フィールドは空の文字列に等しくなります)。これは、他のテーブルや Bean でも発生します。以前、この方法を別のシステム構成で問題なく使用しました。

0 投票する
1 に答える
771 参照

java - DBUtils は文字列を日付に変換できません

私はApache dbutilsを使用しています。java.util.Date 属性を持つオブジェクトがあります。次のコードを実行すると、SQL で失敗します

select name, startDate from myTable

コードを調べたところ、BeanProcessor、processColumn が Date を除くすべてのプロパティを通過していることがわかりました。Date については、rs.getObject(index) を呼び出しています。これは、私のデバッガーに基づいて文字列を返し、セットが失敗する原因になります。何か案は?

ドライバー交代?jtds 1.2.5 を使用しています。getObject メソッドの Date を返すことになっていますか?

0 投票する
1 に答える
394 参照

java - Java Generics + 文字列形式のクラス名

以下は正常に動作しています:

問題は、MyClassハードコードされていることです。上記の行は集中化された場所にあるため、ハードコーディングは不適切です。

MyClass私はieの完全修飾クラス名を持っていますcom.company.vo.MyClass

ResultSetHandlerここで、受信文字列を実際のクラスに変換して上記を生成したいと思います。

助けてください、私は試しました:

スローするもの:

読んでくれてありがとう。

0 投票する
0 に答える
114 参照

java - DbUtils execute insert sql with datatime カラムの結果は常に xx:xx:00 です

DbUtils を使用して MySQL の datetime 列を持つ SQL を挿入すると、常に 2015-03-25 17:35: 00のような結果が得られます。 ?

これは私が使用しているSQLです:

0 投票する
0 に答える
1153 参照

java - Java で PostgreSQL から NULL (数値) 値の Double.NaN を取得する方法

numericPostgreSQL からの Java ResultSet の値 ( ) が であるかどうかを知る必要がありますNULL。もしそうなら、0 の代わりに取得する必要がありDouble.NaNます。Apache Commons DBUtils マッピングを使用しますが、NULL 値を 0 にマップします。

own を作成する必要なく、代わりに Double.NaN を取得する方法はありますBasicRowProcessorか?

0 投票する
5 に答える
9612 参照

java - apache-commons-dbutils を使用してデータベースの列名を Java クラス フィールドにマップする方法

ライブラリを使用して DB から POJO (State.java) を作成したいと思いApache DBUtilsます。ただし、Bean プロパティの名前が DB 列名と正確に一致しないため、一部のプロパティは未入力のままです。

さて、グーグルでこれについていくつかの調査を行ったところ、これは次の方法で達成できることがわかりました。

  1. SQLクエリを書いているときの列のエイリアシング(いくつかの大きなテーブルに複数の結合があり、多くのエイリアシングが必要になるため、私は好まない)
  2. BeanProcessor の使用 (どこにも本当に良い例が見つかりませんでした)

BeanProcessor列名をプロパティにマップする方法の良い例を誰か提供できますか? 私が提供した例を微調整すると、さらに良くなります。

DB テーブル

状態.java

Main.java

0 投票する
1 に答える
1971 参照

java - QueryRunner Insert メソッドの戻り値の型

ドキュメントのQueryRunner#insertメソッドに従って Apache Commons DBUtils を使用しています。ResultSetHandlerのジェネリック型を返します。プロジェクトに BR_Author オブジェクトがあります。

BR_Author.java

サービスクラスで次のような単純な挿入ステートメントを作成します

AuthorService#createAuthor

createAuthor メソッドで追加された値を返そうとしていますが、id フィールドを自動インクリメント オブジェクトとして設定すると、次のように返されます。

データベースを確認すると、値が正常に追加されていることがわかります。

自動インクリメントを無効にしてコードから ID を設定すると、作成者オブジェクトが null になります。だから私は QueryRunner#insert メソッドを誤解しているのか、それともバグがあるのか​​ を知りたいです。私はすでに以下のリンクをチェックしています。

ところで: BR_Author クラスに対して正常に動作するクエリを選択するため、マッピングの問題は発生しません。

0 投票する
3 に答える
2063 参照

sql - update Sqlで列名を変更するApache Dbutils

Dbutils で奇妙な問題が発生しています。パラメーター化された更新 SQL を実行しようとしています。正しい数の引数を指定していますが、dbutils は変更の名前を変更してタイムスタンプ列名を変更しています。

タイムスタンプ列名が 1 つのアルファベットの場合

java.sql.SQLException: パラメーターの数が正しくありません: 4 が予期されていましたが、5 が指定されました クエリ: UPDATE WEATHER_2 SET WEATHER=? , O=TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI:SS.FF') , 湿度=? 、温度=? どこのID=? パラメータ: [804、2015-06-05 17:21:05.809、16.0、25.15、1347927]

タイムスタンプ列名が通常の場合..2番目のアルファベットを省略します

java.sql.SQLException: ORA-00904: "OSTIME": 識別子が無効です クエリ: UPDATE WEATHER_2 SET WEATHER=? , OBSTIME=TO_TIMESTAMP(?,'YYYY-MM-DD HH24:MI:SS.FF') , 湿度=? 、温度=? どこのID=? パラメータ: [804、2015-06-05 17:27:46.139、16.0、25.15、1347927]

これはデータベースのことでしょうか?また、これは、タイプが Date または Timestamp の列でのみ発生します。