問題タブ [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 - MyBatisで大量のデータを扱う
私の目標は、実際にはデータベースのすべてのデータを XML ファイルにダンプすることです。データベースはそれほど大きくなく、約 300MB です。問題は、(JVM で) 256MB のメモリ制限しかないことです。したがって、明らかに、すべてをメモリに読み込むことはできません。
この問題は、iBatis (はい、myBatis ではなく iBatis を意味します) を使用して、incremented を使用してgetList(... int skip, int max)
複数回呼び出すことで解決できskip
ました。これでメモリの問題は解決しますが、速度には感銘を受けません。変数名は、メソッドがフードの下で行うことは、結果セット全体をスキップしてから指定されたレコードを読み取ることであることを示唆しています。これは私にはかなり冗長に思えます (メソッドがそうしていると言っているわけではありません。変数名に基づいて推測しているだけです)。
さて、アプリケーションの次のバージョンのために myBatis 3 に切り替えました。私の質問は: myBatis でチャンクごとに大量のデータを処理するより良い方法はありますか? myBatis で最初の N レコードを処理し、結果セットの接続を開いたまま呼び出し元に返す方法はありますか「スキップ」?
ibatis - Ibatis/MyBatis は、Pojo / Mapper を作成する必要なく動的に選択します
Ibatis/MyBatis を使用して動的に選択/更新/削除する方法はありますか?
「動的に」と言うときは、POJO/DataMapper をまったく作成したくないという意味です。
URL の例を歓迎します。
hibernate - JDBCTemplates、iBatis/myBatis、または Hibernate で Spring を使用する新しいプロジェクトの場合?
こんにちは、永続化レイヤーに Spring JDBCTemplates、iBatis/myBatis、または Hibernate を使用するかどうかを決定する必要があるプロジェクトを開始しています。私はどちらの概念にも多かれ少なかれ精通していますが、現在人々が何を使用する傾向があるのか 疑問に思っています.
私の要件は次のとおりです。
- すべてをできるだけシンプルに保つ
- 簡単に学び、使用する
- ハイパフォーマンス
- 最適な開発者の生産性
- Spring 3 で使用できる必要があります
前述のように、すべてをできるだけシンプルに保ちたいと考えています。私の好みは iBatis/myBatis に傾く傾向があります。これは、使いやすいように見え、実際の OR Mapper を必要としないためです。しかし、これらのフレームワークを使用している人々から学ぶことを本当に楽しみにしています。
jquery - Jquery ajax()呼び出しを使用すると、Tomcatログはサイレントになります
エラーがタイプミスまたはそのようなばかげたものであることが判明する可能性が高い場合でも、コードをデバッグするために大量の手動検査を回避しようとしています。jQueryを使用してStruts2アクションに対してajax()呼び出しを行っていますが、実行が停止しています。Javascriptレベルでは、「手がかりがありません。あなたは自分の開発者です」という非常にわかりやすい500エラーが表示されます。つまり、Struts2のアクションレベルで行っているのは、すべてのコマンドの後にlog.info行を配置することです。これが私がデモンストレーションの目的で持っているものです:
私のTomcatログは私に与えます:
これは、私のStruts 2サービスの呼び出しであるdeleteNoteが、myBatisを介して実際にソフト削除(更新ステートメント)を実行していることを示しています。ただし、明らかな障害はありません。通常、myBatisを間違えると、myBatisから通知が届き(ログは非常に役立つことがよくあります)、間違いを修正します。myBatisをINFOレベルに設定しました。
では、Tomcatをシャットダウンしているのは何ですか?この機会だけでなく、デバッグが必要な将来のajax()呼び出しについても、Tomcat / Log4Jからより多くの情報を取得するにはどうすればよいですか?
java - データベースから where 句を追加する
プロジェクトでは MyBatis 3.0.3 と Spring 3.0.5 を使用しています。
where句を格納するテーブルを介してデータレベルのセキュリティを実装しようとしています(userid < 200、active == true、...)。
そのため、実行時に選択クエリに動的に句を追加したい場合に問題が発生します。
Spring AOP を使用する可能性について考えていますが、それが可能かどうか、それが良い解決策であるかどうか、また実装方法がわかりません。
あなたの考えを共有してください。
前もって感謝します、
シルビア。
orm - MyBatis で動的 SQL クエリを注釈付きで使用する方法 (selectProvider の使用方法)?
mybatis3 でマッパーを定義するための追加の xml を持たないようにしています。注釈はぴったりです。
@SelectProvider/@InsertProvider/etc の使い方に少し混乱しています。これについて私を導く多くのリソースがオンラインにあるとは思わないでください。
基本的に、mybatis3 で代替のアノテーション バージョンを見つけたいと思います。
たとえば、xml マッパーがあり、アノテーションを使用するように変換したい
コードを含む具体的な回答/解決策を誰かが提供できますか?
前もって感謝します!
java - MyBatisを使用してDB2から生成されたキーを取得する
自動生成された列で生成するテーブルがありますが、MyBatisを使用してIDを取得できません。SQLが機能し、行が挿入されていることをテストで証明しましたが、IDを生成できません。
XML構成は次のとおりです。
XML_LOG_Tには、自動生成されるREQ_ID列があります。私のマッパーインターフェースは次のとおりです。
返されるのは常に1で、これは挿入されたレコードの数だと思います。明らかな何かが欠けていると確信していますが、木のために木を見ることができません。
hibernate - JPA (Hibernate) と JDBC (JdbcTemplate または MyBatis) が同じトランザクションを共有するように Spring を構成する方法
単一の dataSource があり、JPA プロバイダーとして Spring 3.0.3、Hibernate 3.5.1 を使用し、いくつかのクエリに MyBatis 3.0.2 を使用し、Tomcat 6 でアプリを実行します。両方を呼び出すと、HibernateDAO と MyBatisDAO があります。 @Transactional で注釈が付けられた同じメソッドから、同じトランザクションを共有していないように見え、異なる接続を取得します。
どうすれば彼らにやらせることができますか?
DataSourceUtils.getConnection(dataSource) から接続を取得しようとしましたが、MyBatis で使用されているものを取得しましたが、これは奇妙です。問題は MyBatis の構成にあり、JpaTransactionManager を使用できないと思いました。DataSoruceUtils.getConnection を複数回呼び出しても、常に同じ接続が得られますが、これで問題ありません。
いくつかのグーグル検索の後、私は spring-instrument-tomcat のクラスローダーを試しました (ただし、Tomcat が実際にそれを使用しているかどうかはわかりません:))
部分的な applicationContext
部分的な mybatis 構成
部分的な永続性.xml
oracle - Oracle の行レベル セキュリティを MyBatis と統合するにはどうすればよいですか?
私が取り組んでいるプロジェクトでは、行レベルのセキュリティを備えた Oracle データベースを使用しています。call DBMS_APPLICATION_INFO.SET_CLIENT_INFO('userId');
他の SQL ステートメントを実行する前に、呼び出すことができる必要があります。これを MyBatis 内に実装する方法を見つけようとしています。私が持っていたがうまくいかなかったいくつかのアイデアには、次のものがあります。
試行 1
ただし、1 回の JDBC 呼び出しで 2 つのステートメントを使用することはできません。また、MyBatis は JDBC バッチ ステートメントをサポートしていないか、少なくとも私が見つけたものはサポートしていません。
試行 2
ただし、プロシージャでデータを返すことはできず、関数でのみデータを返すことができないため、データを返す方法がないことを知ったので、それは私が得た限りです。
試行 3
クライアント情報を設定する単純な MyBatis ステートメントを作成することだけを検討しました。これは、ステートメントを実行する前に呼び出す必要があります。これは最も有望に思えますが、Spring とデータベース接続プーリングを使用しているため、競合状態が心配です。接続が閉じられず、再利用されるため、クライアント情報が流出して他のステートメントに影響を与えないようにしたいと考えています。
ソフトウェア/フレームワークのバージョン情報
Oracle 10g
MyBatis 3.0.5
春 3.0.5
更新
MyBatis Spring 1.0.1 も使用していることを忘れていました
spring - クライアントサーバーモデルにSpring、MyBatisを使用する
以前の投稿によると、アプリケーション用のマルチスレッドサーバークライアントモデルを構築することができました。
今、私はそれをSpringに移行する必要があります(現時点ではMVCではなくコア)。誰かがどこから始めればいいのかもう一度提案してもらえますか?
多くのグーグルで検索しましたが、まともなチュートリアルを見つけることができませんでした。誰かが助けることができるなら。前もって感謝します。