このページでは、MyBatisを使用して、MySQLからselect文でレコードIDを指定してデータを1件取得する方法について記述しています。
サンプルは以下の環境で作成しました。
MySQLにログインします。
mysql -u root -ppassword
データベース領域(test)を作成します。
mysql> create database test;
テーブル(sample)を作成します。
mysql> CREATE TABLE `sample` ( `recid` char(5) NOT NULL, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`recid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
データ挿入します。
mysql> INSERT INTO sample VALUES ('00001', 'name1');
mysql> INSERT INTO sample VALUES ('00002', 'name2');
mysql> INSERT INTO sample VALUES ('00003', 'name3');
作成したテーブルとデータは以下の通りになります。
mysql> select * from sample; +-------+-------+ | recid | name | +-------+-------+ | 00001 | name1 | | 00002 | name2 | | 00003 | name3 | +-------+-------+
package sample;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SampleMain {
public static void main(String[] args) throws IOException {
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
SqlSession session = factory.openSession();
SampleDto dto = (SampleDto) session.selectOne("selectByRecid","00001");
System.out.println(dto.getRecid() + " : " + dto.getName());
}
}
package sample;
public class SampleDto {
private long recid;
private String name;
public long getRecid() {
return recid;
}
public void setRecid(long recid) {
this.recid = recid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="<ユーザー>"/>
<property name="password" value="<パスワード>"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="sql-mapper.xml"/>
</mappers>
</configuration>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="sample">
<resultMap id="sampleResult" type="sample.SampleDto">
<result property="recid" column="RECID" />
<result property="name" column="NAME" />
</resultMap>
<select id="selectByRecid" resultMap="sampleResult">
select * from sample where recid = #{recid}
</select>
</mapper>
下に以下の構成を作成します。
□任意のフォルダ/
├─bin
│ └─sample
│ SampleDto.class
│ SampleMain.class
│ mybatis-config.xml
│ sql-mapper.xml
└─lib
mybatis-3.2.3.jar
mysql-connector-java-5.1.26-bin.jar
上記の構成のbinとlibの上までコマンドプロンプトで移動して、以下のコマンドを実行すると、 「1 : name1 」と表示される。
CLASSPATH=.\lib\mybatis-3.2.3.jar CLASSPATH=%CLASSPATH%;.\lib\mysql-connector-java-5.1.26-bin.jar CLASSPATH=%CLASSPATH%;.\bin; java -classpath %CLASSPATH% sample.SampleMain 1 : name1
スポンサーリンク
サイト内のページ
言語
C・C++
/HTML
/Java
/JavaScript
/PHP
/シェルスクリプト
開発環境
Ant
/Burp
/Eclipse
/Fiddler
/gcc
/gdb
/Git
/g++
/JDK
/JMeter
/JUnit
/Teraterm
/ZAP
技術・仕様
Ajax
/CORBA
/Jakarta EE(旧称J2EE、Java EE)
/JNI
ライブラリ/Framework/CMS
bootstrap
/jQuery
/FuelPHP
/Lucene
/MyBatis
/Seasar2
/Spring
/Struts
/WordPress
Web API
Google Maps
ITインフラOSとミドルウェア
Linux
/Windows
/シェル
ActiveMQ
/Tomcat
/MariaDB
/MySQL
/Nagios
/Redis
/Solr
ITインフラセキュリティ
公開サーバーのセキュリティ
SI
ホームページの作り方
スポンサーリンク
関連サイト内検索ツール
zealseedsおよび関連サイト内のページが検索できます。
IPアドレス確認ツール
あなたのグローバルIPアドレスは以下です。
3.16.47.126
HTMLの表示色確認ツール
パスワード生成ツール
文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。
ここに生成されます。
スポンサーリンク
Copyright (C) 2007-2024 zealseeds. All Rights Reserved. Loarding…