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 などを使いたい人もいるでしょう。