問題タブ [mybatis]
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 - ID/UUIDがバイナリとして保存されている場合、MyBatisを使用して挿入後にキーを返す方法は?
現在、データベースには、挿入するすべてのレコードに uuid を渡すトリガーがあります。mybatis でレコードを挿入するときに、挿入された行数ではなく、その uuid を取得したいと考えています。
以前の投稿から、私はそれを行うことができると読みました
しかし、uuid をバイナリとして保存するので、挿入から非バイナリ uuid を取得したいと思います。ものを挿入するときは、「uuid2bin」や「bin2uuid」などの関数を使用するため、このような関数を使用して、新しく生成された uuid をデータベース (MySQL) から取得したいと考えていました。
新しく生成されたuuidを取り戻す方法について何か提案はありますか??
java - spring mybatis を使用してオブジェクトの Arraylist をプロシージャに渡す方法
たとえば、オブジェクトのArraylistを渡したい
SomeObjectにはkeyとvalueの 2 つの属性があります。
DB側では、変数のテーブルタイプがあります
今、タイプ SomeObject の各オブジェクトを listOFSomeObject から tableTypeVariable にマップしたいと思います 。
それを手伝ってくれる体はありますか?
java - MybatisがSQLを出力するようにlog4jを設定する方法
私のプロジェクトは SpringMVC+Mybatis+EXTJS4 でセットアップされています。これは私の構成です:
しかし、コンソールにSQLを出力しません。誰か助けてもらえますか? 色々ありがとう
eclipse - Red5でmybatis-springを設定する際の問題
全て、
Red5サーバーで実行されているアプリケーションでMyBatisを構成しようとしています。これらのBeanを構成する追加のSpring構成ファイルを作成しましたred5-ibatis.xml
(WEB-INF
mybatis-springユーザーガイドで説明されています)。
アプリをデプロイした状態でサーバーを実行すると、次の例外が発生します。
よくわかりませんが、SpringはインターフェースをSqlSessionFactoryBean
実装していることを認識していFactoryBean
ないため、変換する方法を見つけることができませんSqlSessionFactory
。
とにかく、それを修正する方法はありますか?
mybatis - MyBatis & RefCursor パラメータ
現在、iBatis から myBatis へのアップグレードに取り組んでいます。Ibatisでは、次のようなSQLマップがあります
myBatis が提供する機能 (マッパーの実装を実装する必要がない、parameterMap などの非推奨の機能を使用しないなど) を最大限に活用したいのですが、いくつか問題があります。戻り値のプロパティを設定しようとしてエラーが発生し続けたので、resultSet オブジェクトをラッパー オブジェクトでラップする必要がありましたが、これは避けたいものです。
ConstraintHierarchyLevel クラス
mapper.xml
別の解決策を試みましたが失敗しました。このソリューションでは、param アノテーションを利用します
mapper.java
上記と同じresultMapを使用していますが、選択ブロックが異なります
mapper.xml
これを実行するとき、MapperMethod クラスを実行メソッドにデバッグし、Object パラメータは結果セットから正しいデータを取得しますが、これは送信された引数 (List) に配置されないため、これらの値は返されません。オブジェクトラッパーで最初のメソッドを実行すると、オブジェクトは送信された引数に配置されるため、取得可能になります。
ありがとう
sql - (方法)MyBatisでDBに依存しないSQLクエリで「LIKE」を安全に使用できますか?
MyBatisでは、次のように、SQLにパラメーターを挿入する場所をマークします。
SELECT * FROM Person WHERE id = #{id}
この構文は、特にSQLインジェクション攻撃を回避するために、適切なエスケープなどをアクティブにします。入力を信頼していて、エスケープをスキップしたい場合は、パラメーターを逐語的に挿入できます。
SELECT * FROM {tableName} WHERE id =#{id}
ここで、安全でない入力に対してLIKE検索を実行したいので、実行したいのは次のとおりです。
SELECT * FROM Person WHERE name LIKE #{beginningOfName} || '%'
ただし、残念ながら、重要なDBサーバーは連結の構文をサポートしていません||
。
MSSQL-「||」の代わりに「+」演算子を使用して標準を破ります。
..。
MySQL-再定義することで標準をひどく破る|| ORを意味します。
だから、私はどちらかを行うことができます
SELECT * FROM Person WHERE name LIKE CONCAT(#{beginningOfName}、'%')
この場合はMySQLに限定されます。
SELECT * FROM Person WHERE name LIKE '{beginningOfName}%'
入力を自分でサニタイズする必要があります。
よりエレガントな解決策はありますか?
java - MyBatis 3.0.5 とマッパーの読み込みの問題
MyBatis 3.0.5 を使用していますが、マッパーをリソースとしてロードする際に問題があります。私は Windows 7 64 を使用しており、Eclipse Indigo 64 ビットと jdk7 64 を使用しています。
テスト用にのみ同じマッパーを使用しています。最初のマッパーはロードされ、2 番目のマッパーは機能しません。エラー:
私の英語でごめんなさい。
解決策: Maven プロジェクトでは、テスト用に src/main/resources および src/test/resources にリソースが必要です。したがって、解決策は、xml マッパーをこれらのフォルダーに配置することです。
jersey - 安らかな Web サービス内での ibatis / mybatis のキャッシュ
Jax-RS (Jersey) の安らかな Web アプリ内で mybatis を使用しています。したがって、自動的に、セッションまたは状態管理はありません。
質問は、 mybatis のキャッシュ機能をどのように使用できますか?
java - Mybatis 3.0.5 ネストされたコレクション マッピングの例
MyBatis 3.0.5 のマッピング機能を調べています。データベースは、組み込みモードで実行中の H2 (1.3.160) です。ユーザーマニュアルの助けを借りて、簡単な部品が機能するようになりました。しかし、バッキング ストレージとしてaSet
を使用する a をマッピングするのに苦労しています。HashMap
カスタム セットをフィールドとして持つカスタム コレクションの Java コードを次に示します (簡潔にするために簡略化しています)。
これがCustomSet
コードです(これも簡略化されています)
マッピング インターフェイスは次のとおりです。
これは、Mybatis フレームワークへの呼び出しを行うコードです。
これまでのところ、マッピング XML を考え出すことができました。
さまざまな反復を通じて、「結果が多すぎます」エラー、その他のエラー、または何も発生しませんでした (マッパー呼び出しから null が返されました) が、必要な結果は得られませんでした。SQL コードはそれ自体で正常に動作し、簡単な select ステートメントで List を要求すると、行と ArrayList が返されます。私が抱えている問題は、ネストされたコレクション オブジェクトが適切に設定されていることです。
私は何度もマニュアルを読み、例を探しましたが、この目的のための正しいマッピング XML を思いつくことができませんでした。誰かが私を助けてくれるか、助けてくれる情報源を教えてくれれば幸いです。
すべての助けを前もって感謝します。
java - Mybatis 3.0.5 複数の入力による挿入/更新ステートメントのマッピング
明らかな何かが欠けているのかもしれませんが、単純なマップされた挿入ステートメントを正常に実行できません。
次のインターフェースの使用
および次の XML マッピング
そしてこのコード
次のデバッグ出力が得られます。
id
その後に SQL 例外が続きます (列に null を入力することはできません)。
したがって、適切に渡された唯一の値は、追加で提供された文字列です。この時点で、フィールド名が正しく、オブジェクトが null ではなく、フィールドが適切に入力されていることを確認しました。
parameterType="CustomItem"
の代わりにも使ってみparameterType="map"
ましたが結果は変わりませんでした。
ここで何が欠けているのか誰かが教えてくれれば幸いです。
前もって感謝します。
PS:insert ステートメントでも同じ問題が発生します。