1.データベースリンクの作成と解放を頻繁に行うと、システムリソースが浪費され、システムパフォーマンスに影響します。この問題は、データベースリンクプールを使用すると解決できます。
解決策:SqlMapConfig.xmlでデータリンクプールを構成し、接続プールを使用してデータベースリンクを管理します。 dataSource type = "POOLED"
<environments default="mysql">
<!-- 配置 mysql 的环境 -->
<environment id="mysql">
<!-- 配置事务的类型 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置连接数据库的信息:用的是数据源(连接池) -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ee50"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
2.コードに記述されたSQLステートメントはコードの保守を困難にし、SQLの実際のアプリケーションは大幅に変更される可能性があり、SQLの変更にはJavaコードの変更が必要になります。
解決策:SQLステートメントの構成をxxxDao.xmlファイルのJavaコードから分離します。
3. sqlステートメントのwhere条件が必ずしも必要ではなく、多かれ少なかれ存在する可能性があり、プレースホルダーがパラメーターに対応する必要があるため、パラメーターをsqlステートメントに渡すのは面倒です。
解決策:Mybatisは自動的にJavaオブジェクトをSQLステートメントにマップし、ステートメントのparameterTypeを介して入力パラメーターのタイプを定義します。
4.結果セットを解析するのは面倒です。SQLの変更は解析コードの変更につながるため、解析する前にトラバースする必要があります。解析のためにデータベースレコードをpojoオブジェクトにカプセル化する方が便利です。解決策:MybatisはSQL実行結果をJavaオブジェクトに自動的にマップし、ステートメントのresultTypeを介して出力結果のタイプを定義します。