問題タブ [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.
java - Java で同じ ResultSet を持つ複数の jTable
jTable
同じものを複数入力できますresultSet
か?
コードはコンパイルされますが、2 番目のテーブルは DB からレコードを取得しません。ポイントは、mySql テーブルからランダムな項目を選択する必要があり、それらをいくつかに表示したいということですjTables
。
java - DBUtils が Java Bean のフィールドに入力できない
次のようなmysqlテーブルがあります。
次の方法で、apache dbutils を使用してデータベースにクエリを実行します。
ここで、アプリケーションを実行しても例外はスローされませんが、Java Bean の一部のフィールド (すべてではない!)SezioneMenu
が空です (整数フィールドはゼロに等しく、文字列フィールドは空の文字列に等しくなります)。これは、他のテーブルや Bean でも発生します。以前、この方法を別のシステム構成で問題なく使用しました。
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 を返すことになっていますか?
java - Java Generics + 文字列形式のクラス名
以下は正常に動作しています:
問題は、MyClass
ハードコードされていることです。上記の行は集中化された場所にあるため、ハードコーディングは不適切です。
MyClass
私はieの完全修飾クラス名を持っていますcom.company.vo.MyClass
ResultSetHandler
ここで、受信文字列を実際のクラスに変換して上記を生成したいと思います。
助けてください、私は試しました:
スローするもの:
読んでくれてありがとう。
java - DbUtils execute insert sql with datatime カラムの結果は常に xx:xx:00 です
DbUtils を使用して MySQL の datetime 列を持つ SQL を挿入すると、常に 2015-03-25 17:35: 00のような結果が得られます。 ?
これは私が使用しているSQLです:
java - Java で PostgreSQL から NULL (数値) 値の Double.NaN を取得する方法
numeric
PostgreSQL からの Java ResultSet の値 ( ) が であるかどうかを知る必要がありますNULL
。もしそうなら、0 の代わりに取得する必要がありDouble.NaN
ます。Apache Commons DBUtils マッピングを使用しますが、NULL 値を 0 にマップします。
own を作成する必要なく、代わりに Double.NaN を取得する方法はありますBasicRowProcessor
か?
java - apache-commons-dbutils を使用してデータベースの列名を Java クラス フィールドにマップする方法
ライブラリを使用して DB から POJO (State.java) を作成したいと思いApache DBUtils
ます。ただし、Bean プロパティの名前が DB 列名と正確に一致しないため、一部のプロパティは未入力のままです。
さて、グーグルでこれについていくつかの調査を行ったところ、これは次の方法で達成できることがわかりました。
- SQLクエリを書いているときの列のエイリアシング(いくつかの大きなテーブルに複数の結合があり、多くのエイリアシングが必要になるため、私は好まない)
- BeanProcessor の使用 (どこにも本当に良い例が見つかりませんでした)
BeanProcessor
列名をプロパティにマップする方法の良い例を誰か提供できますか? 私が提供した例を微調整すると、さらに良くなります。
DB テーブル
状態.java
Main.java
java - QueryRunner Insert メソッドの戻り値の型
ドキュメントのQueryRunner#insertメソッドに従って Apache Commons DBUtils を使用しています。ResultSetHandlerのジェネリック型を返します。プロジェクトに BR_Author オブジェクトがあります。
BR_Author.java
サービスクラスで次のような単純な挿入ステートメントを作成します
AuthorService#createAuthor
createAuthor メソッドで追加された値を返そうとしていますが、id フィールドを自動インクリメント オブジェクトとして設定すると、次のように返されます。
データベースを確認すると、値が正常に追加されていることがわかります。
自動インクリメントを無効にしてコードから ID を設定すると、作成者オブジェクトが null になります。だから私は QueryRunner#insert メソッドを誤解しているのか、それともバグがあるのか を知りたいです。私はすでに以下のリンクをチェックしています。
ところで: BR_Author クラスに対して正常に動作するクエリを選択するため、マッピングの問題は発生しません。
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 の列でのみ発生します。