MyBatisを使ってみる
提供: tknotebook
メインページ>コンピュータの部屋#Java>MyBatis Tips
これは MyBatis のごく簡単なチュートリアルです。MyBatis を使ってある単独のテーブルのレコードを読む簡単な例を示します。
準備
簡単に始めるなら Maven を使うのがよいでしょう。Eclipse(現在の版は 4.6Neon)のPleiades には Maven が含まれておりますので Pleiades(Neon, All in One)をインストールされていれば準備完了です。Java は 今時ですから 1.8 にしてください。
プロジェクトの設定
Pleades で Mavenプロジェクトを作成したら、pom.xml の dependencies を以下のように設定します。
<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>[5.1.40]</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.21</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.7</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.7</version> </dependency> </dependencies>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>[5.1.40]</version> </dependency>
は MySQL を使うためです。他のデータベースを使うなら適宜変更してください。
また、Javaコンパイラーのバージョンとソースコードのエンコーディングの指定も忘れずに。
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <maven.compiler.target>${java.version}</maven.compiler.target> <maven.compiler.source>${java.version}</maven.compiler.source> </properties>
また、プロジェクトの src/main/resouce には、ログ出力のための logback 用の設定ファイルを置きます。 名称は logback.xml 内容は以下のような感じでよいでしょう。
<?xml version="1.0" encoding="UTF-8" ?> <!--suppress ALL --> <configuration> <!--変数の定義を行います。2行目は外部のプロパティファイルの内容から定義します。--> <property name="LOG_DIR" value="c:/logback_logs" /> <!-- 標準出力に出力する設定です。--> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!--アペンダでのレベル設定--> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>TRACE</level> </filter> <target>System.out</target> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n</pattern> </encoder> <withJasi>true</withJasi> </appender> <!--ログファイルを出力するシンプルな設定です。--> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <!--アペンダでのレベル設定--> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>TRACE</level> </filter> <!--<file>${LOG_DIR}/Trace.log</file>--> <file>log/Trace.log</file> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n</pattern> </encoder> </appender> <!--ログファイルをアーカイブする設定です。アーカイブは1時間毎に行います。--> <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--アペンダでのレベル設定--> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>INFO</level> </filter> <!--<file>${LOG_DIR}/Rolling.log</file>--> <file>log/Rolling.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--<fileNamePattern>${LOG_DIR}/Rolling_%d{yyyy-MM-dd_HH}.log</fileNamePattern>--> <fileNamePattern>log/Rolling_%d{yyyy-MM-dd_HH}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n</pattern> </encoder> </appender> <!-- ルートから全てのログをアペンダに流し、アペンダでフィルタリングを行う方式とします。--> <root level="TRACE"> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE"/> <appender-ref ref="ROLLING"/> </root> </configuration>
この辺慣れている方は、ログ周りの dependencies の設定や 設定ファイルの内容はお好きなようにしてください。 log4j などを使いたい人もいるでしょう。