例えばね。
部署IDと部署名と削除フラグをもつ、部署テーブルがあったとして。
データベースにこんな感じで値が入ってたとして
sqlMapConfig.xmlに記述しているSELECT文
< select id="select" resultMap="MBushoResult" parameterClass="bean.Busho" >
select BUSHOID, BUSHONM, DELFLG
from STUDY.M_BUSHO
where BUSHONM = '営業部'
< /select >
これ、データが出てこないのよ。
OracleのSQL*PLUSでは、このSQLでデータが出てくるのよ。営業部のデータが。
この「’(シングルコーテーション)」の中で全角文字を直書きしたら、SQLでデータが引き当てられないのよ。
これがね、データベースの中の部署名が半角文字で「eigyo」だったりすると。
where BUSHONM = 'eigyo'でデータが引き当てられるのよ。
全角だとダメなのよ。
パラメータで渡したJavaBeansの部署クラスのフィールドbushoNmに「営業部」という言葉が入っていたら、下のSQLでOKなの。
where BUSHONM = #bushoNm#
ようは、全角文字を直書きしたらだめなの。
where BUSHONM = '営業部'みたいに。
iBATIS2.3.4の話なんだけど。
バージョンが新しいのも、そういう問題はあるかもしれないけど。
他のバージョンは試してないからわかんない。
開発者が日本人じゃないから、しかたないよね。
もう、そういう仕様かバグかはわからないんだけど。
まぁ、無料だからしかたないよね。
今日はここで詰まってて、また寝るのが遅くなるよ。
部署IDと部署名と削除フラグをもつ、部署テーブルがあったとして。
部署ID | 部署名 | 削除フラグ |
1 | 営業部 | 0 |
2 | 購買部 | 0 |
データベースにこんな感じで値が入ってたとして
sqlMapConfig.xmlに記述しているSELECT文
< select id="select" resultMap="MBushoResult" parameterClass="bean.Busho" >
select BUSHOID, BUSHONM, DELFLG
from STUDY.M_BUSHO
where BUSHONM = '営業部'
< /select >
これ、データが出てこないのよ。
OracleのSQL*PLUSでは、このSQLでデータが出てくるのよ。営業部のデータが。
この「’(シングルコーテーション)」の中で全角文字を直書きしたら、SQLでデータが引き当てられないのよ。
これがね、データベースの中の部署名が半角文字で「eigyo」だったりすると。
where BUSHONM = 'eigyo'でデータが引き当てられるのよ。
全角だとダメなのよ。
パラメータで渡したJavaBeansの部署クラスのフィールドbushoNmに「営業部」という言葉が入っていたら、下のSQLでOKなの。
where BUSHONM = #bushoNm#
ようは、全角文字を直書きしたらだめなの。
where BUSHONM = '営業部'みたいに。
iBATIS2.3.4の話なんだけど。
バージョンが新しいのも、そういう問題はあるかもしれないけど。
他のバージョンは試してないからわかんない。
開発者が日本人じゃないから、しかたないよね。
もう、そういう仕様かバグかはわからないんだけど。
まぁ、無料だからしかたないよね。
今日はここで詰まってて、また寝るのが遅くなるよ。