iBATIS
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* [[iBATIS]]
O/Rマッピングのよさがよくわからず、HibernateやJPAを調べて...
でもJAVAでActiveRecordがつかえればなー やるならここまで...
#contents
** 環境
http://ibatis.apache.org/のGet softwareから[[for Java>htt...
またダウンロードページには日本語マニュアル[[SQL Maps for ...
さらにEclipseで使う場合にhttp://ibatis.apache.org/tools.h...
http://ibatis.apache.org/tools/abator
を設定してインストールです。ん?2.3.0に対応してないのか?...
** サンプル
Test1.java
package main;
import dto.Xy003;
public class Test1 {
public static void main(String args[]) throws Exception {
SqlMapClient sqlMap = MyAppSqlConfig.getSqlMapInstance();
/*
* UNAMEを指定して1件のxy003を取得
*/
Xy003 xy003 = (xy003) sqlMap.queryForObject("getXy003",
"admin001");
System.out.println("値=" + xy003.getNokokyaku());
/*
* すべて
*/
List<Xy003> xy003List = (List<Xy003>) sqlMap
.queryForList("allXy003");
for (Xy003 d : xy003List) {
System.out.println("List値=" + d.getNokokyaku());
}
/*
* java.util.HashMapで
*/
List<Map> list = (List<Map>) sqlMap.queryForList("allXy...
for (Map d : list) {
System.out.println("Map値=" + d.get("NOKOKYAKU"));
}
/*
* whereを動的に xmlを書くのが大変な場合の逃げ道
*/
List<Map> list1 = (List<Map>) sqlMap.queryForList("getX...
" AND UNAME='admin001'");
for (Map d : list1) {
System.out.println("Map値=" + d.get("NOKOKYAKU"));
}
}
}
MyAppSqlConfig.java
package main;
/**
* SqlMapClientを返すためのクラス
*/
public class MyAppSqlConfig {
private static SqlMapClient sqlMap;
static {
try {
String resource = "SqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlMapClient getSqlMapInstance(){
//Singletoneとして利用
return sqlMap;
}
}
Xy003.java
package dto;
public class Xy003 {
private String uname;
private String nokokyaku;
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getNokokyaku() {
return nokokyaku;
}
public void setNokokyaku(String nokokyaku) {
this.nokokyaku = nokokyaku;
}
}
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0/...
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- DB接続設定 -->
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="org.gjt.mm.mysql.D...
<property name="JDBC.ConnectionURL" value="jdbc:mysql:...
<property name="JDBC.Username" value="hogeuser"/>
<property name="JDBC.Password" value="hogepass"/>
</dataSource>
</transactionManager>
<sqlMap resource="dao/xy003_SqlMap.xml"/>
</sqlMapConfig>
xy003_SqlMap.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" ...
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<!-- 1件検索 -->
<select id="getXy003" resultClass="dto.Xy003">
SELECT UNAME, NOKOKYAKU FROM xy003
WHERE UNAME = #value#
</select>
<!-- 逃げSQL -->
<select id="getXy003Where" resultClass="java.util.HashMa...
SELECT UNAME, NOKOKYAKU FROM xy003
WHERE 1 = 1 $value$
</select>
<!-- すべて -->
<select id="allXy003" resultClass="dto.Xy003">
SELECT UNAME, NOKOKYAKU FROM xy003
ORDER BY UNAME
</select>
<!-- HashMapで-->
<select id="allXy003Map" resultClass="java.util.HashMap">
SELECT UNAME, NOKOKYAKU FROM xy003
ORDER BY UNAME
</select>
</sqlMap>
** PaginatedList
2.3.0をみているとなくなっています... さてページングをど...
public java.util.List queryForList(java.lang.String id,
java.lang.Object param...
int skip,
int max)
skip - The number of results to ignore.
max - The maximum number of results to return.
このあたりで代用かな。
** リンク
[[iBATISを使ったO/RマッピングによるDBアクセスの実例>http:...
** 参考書籍
** コメント
-#comment
終了行:
* [[iBATIS]]
O/Rマッピングのよさがよくわからず、HibernateやJPAを調べて...
でもJAVAでActiveRecordがつかえればなー やるならここまで...
#contents
** 環境
http://ibatis.apache.org/のGet softwareから[[for Java>htt...
またダウンロードページには日本語マニュアル[[SQL Maps for ...
さらにEclipseで使う場合にhttp://ibatis.apache.org/tools.h...
http://ibatis.apache.org/tools/abator
を設定してインストールです。ん?2.3.0に対応してないのか?...
** サンプル
Test1.java
package main;
import dto.Xy003;
public class Test1 {
public static void main(String args[]) throws Exception {
SqlMapClient sqlMap = MyAppSqlConfig.getSqlMapInstance();
/*
* UNAMEを指定して1件のxy003を取得
*/
Xy003 xy003 = (xy003) sqlMap.queryForObject("getXy003",
"admin001");
System.out.println("値=" + xy003.getNokokyaku());
/*
* すべて
*/
List<Xy003> xy003List = (List<Xy003>) sqlMap
.queryForList("allXy003");
for (Xy003 d : xy003List) {
System.out.println("List値=" + d.getNokokyaku());
}
/*
* java.util.HashMapで
*/
List<Map> list = (List<Map>) sqlMap.queryForList("allXy...
for (Map d : list) {
System.out.println("Map値=" + d.get("NOKOKYAKU"));
}
/*
* whereを動的に xmlを書くのが大変な場合の逃げ道
*/
List<Map> list1 = (List<Map>) sqlMap.queryForList("getX...
" AND UNAME='admin001'");
for (Map d : list1) {
System.out.println("Map値=" + d.get("NOKOKYAKU"));
}
}
}
MyAppSqlConfig.java
package main;
/**
* SqlMapClientを返すためのクラス
*/
public class MyAppSqlConfig {
private static SqlMapClient sqlMap;
static {
try {
String resource = "SqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlMapClient getSqlMapInstance(){
//Singletoneとして利用
return sqlMap;
}
}
Xy003.java
package dto;
public class Xy003 {
private String uname;
private String nokokyaku;
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getNokokyaku() {
return nokokyaku;
}
public void setNokokyaku(String nokokyaku) {
this.nokokyaku = nokokyaku;
}
}
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0/...
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- DB接続設定 -->
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="org.gjt.mm.mysql.D...
<property name="JDBC.ConnectionURL" value="jdbc:mysql:...
<property name="JDBC.Username" value="hogeuser"/>
<property name="JDBC.Password" value="hogepass"/>
</dataSource>
</transactionManager>
<sqlMap resource="dao/xy003_SqlMap.xml"/>
</sqlMapConfig>
xy003_SqlMap.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" ...
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<!-- 1件検索 -->
<select id="getXy003" resultClass="dto.Xy003">
SELECT UNAME, NOKOKYAKU FROM xy003
WHERE UNAME = #value#
</select>
<!-- 逃げSQL -->
<select id="getXy003Where" resultClass="java.util.HashMa...
SELECT UNAME, NOKOKYAKU FROM xy003
WHERE 1 = 1 $value$
</select>
<!-- すべて -->
<select id="allXy003" resultClass="dto.Xy003">
SELECT UNAME, NOKOKYAKU FROM xy003
ORDER BY UNAME
</select>
<!-- HashMapで-->
<select id="allXy003Map" resultClass="java.util.HashMap">
SELECT UNAME, NOKOKYAKU FROM xy003
ORDER BY UNAME
</select>
</sqlMap>
** PaginatedList
2.3.0をみているとなくなっています... さてページングをど...
public java.util.List queryForList(java.lang.String id,
java.lang.Object param...
int skip,
int max)
skip - The number of results to ignore.
max - The maximum number of results to return.
このあたりで代用かな。
** リンク
[[iBATISを使ったO/RマッピングによるDBアクセスの実例>http:...
** 参考書籍
** コメント
-#comment
ページ名: