Mybatis-9.28
環境: jdk 1.8 Mysql 5.7 maven 3.6.1 IDEA
レビュー: JDBC Mysql Java基礎 Maven Junit
SSMフレームワーク:設定ファイル、最良の方法:公式ドキュメントを見る
はじめに
Mybatisとは?
カスタムSQL、ストアドプロシージャ、高度なマッピングをサポートする永続化レイヤーフレームワーク。 すべてのjdbc操作を回避し、シンプルなxmlまたはアノテーションを使用してネイティブ型、インタフェース、およびJava pojoを設定します。 キーワード: 永続化レイヤーフレームワーク
Mybatisを入手するには? mavenリポジトリ。
org.mybatis mybatis 3.5.2
github:github.com/myb...
永続性
データの永続性: 永続性とは、プログラムのデータを永続的な状態と一時的な状態の間で変換するプロセス。 メモリ:停電時の喪失 データベース、ioファイルの永続性。
永続化レイヤー
ダオ層、サービス層、コントローラ層...。 永続化作業を行うコードのブロック レイヤーの境界は非常に明確です。
Mybatisが必要な理由?
データベースへのデータ預け入れを支援 利便性 従来のjdbcコードは複雑すぎる、単純化 --> フレームワーク 自動化 Mybatisを学ぶことで、簡単に始められる 利点: sqlとコードの分離 xmlタグの提供、動的sqlの記述に対応
最初のMybatisプログラム
アイデア:環境の構築→Mybatisのインポート→コードの記述→テスト
ビルド環境
データベースの構築
create database `mybatis`;
use `mybatis`;
create table `user`(
`id` int(20) not null primary key,
`name` varchar(30) default null,
`pwd` varchar(30) default null
)engine=innodb default charset=utf8;
insert into `user`(`id`,`name`,`pwd`)
values
(1,' ,'123456'),
(2,' ,'1234567'),
(3,' ,'12345678');
select * from user;
新規プロジェクト 1.通常のmavenプロジェクトを新規作成します 2.srcディレクトリを削除します 3.maven依存関係をインポートします --- 基本プロジェクトプロジェクトがビルドされます!
モジュールの作成
mybatisコア設定ファイルの記述
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://.org/dtd/mybatis-3-.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
mybatisツールクラスの作成
コードを書く
エンティティ
ダオインターフェース
インターフェイス実装クラス:元のUserDaoImplからマッパープロファイルへ
テスト
注意: org.apache.ibatis.binding.BindingException: Type interface com.kuang.dao.UserDao is not known to the MapperRegistry.
MapperRegistryとは? コアコンフィギュレーションファイルへのマッパーの登録
考えられる問題:1.設定ファイルが登録されていない 2.バインディングインターフェースエラー 3.メソッド名が正しくない 4.戻り値の型が正しくない 5.Mavenエクスポートリソースの問題