フィールドは、2つの値の日付と比較YYYY-MM-DDを渡すMyBatisの

最近、このような(MyBatisのフレーム)のタイトルとして、職場で二つの問題が発生した今日、ジョブを変更しました。前者はを直接Baiduのコピーです。そして、ここでのコードをコピーします。

サービス層:

一覧<文字列>年= 新しいArrayListを(); 
years.add(currentYear)。
years.add(lastYear)。
一覧 <XXXEntity> XXXList = XXXDAO.selectTime(タイプ、年);

dao层:

公共の一覧<XXXEntity> selectTime(
@Param( "タイプ")ロングタイプ、リスト<文字列> yearsList);

マッパー:

<ID = "selectTime"のParameterType = "java.util.Listに"このresultMap = "エンティティ" SELECT> 
        SELECT * 表から
        タイプを =。1 
        年の中で
        、<項目のforeach = "項目"コレクション= "yearsList"セパレータ=を"" =開く"("クローズ= ")"インデックス= "">            
            #{項目、jdbcType = VARCHAR}
 <! -私はリストを入れてString型の値であり、jdbcType = VARCHARので、そのコレクション層のDAOの値に注意してください一貫性のあるパラメータリスト・オブジェクト名。> 
        </ foreachの> 
</ SELECT>

まあ、これはフィールド法は、変更の最後のノートがうまく、xmlファイルのコピー場所をリストパッケージを使用し、2つの値を渡しています。

 

2番目の質問:私はそれは時間の期間中であるかどうかを判断するための時間を取得したいです。次のように正確な日付を決定するための時間とYYYY-MM-DDの時間値は、毎分は、オンライン彼が最終的に実現し、テストを変更するように変更しようとしたことをいくつかの情報を確認し、コードがありませんとき:

パブリック  ブールisEffectiveDate(日CURRENTTIME、日付のstartTime、日付endTimeは){ 

        SimpleDateFormatのSD = 新しいてSimpleDateFormat( "YYYY-MM-DD" ); 
        ストリング電流 = sd.format(CURRENTTIME)。
        ストリング開始 = sd.format(のstartTime)。
        ストリングの端 = sd.format(endTimeは)
        もし(java.sql.Date.valueOf(現在).after(java.sql.Date.valueOf(スタート))&
                java.sql.Date.valueOf(現在).before(java.sql.Date.valueOf(終わり) )){ 
            戻り 
        } {
             戻り 
        } 
    }

日付の種類と本当に慣れていない長い時間を取得するには、いくつかの行を見て、繰り返しこのコード、デバッグ、最適化を変更しないで、あなたは直接に過去をコピーすることができます(注値日付フォーマットはYYYY-MM-DDです)。

それは彼らの仕事の経験をまとめたものであるが、また、より多くの人々を助けるためにその一部を貢献したいです。ありがとうございました。

 

おすすめ

転載: www.cnblogs.com/caihouzi/p/11689441.html