第一种
1 <if test="AGTNAM !=null and AGTNAM !=''"> 2 <![CDATA[and AGTNAM like concat(concat('%',#{AGTNAM}),'%'))]]> 3 </if>
第二种
1 <select id="selectUserByName" parameterType="string" resultType="user"> 2 select * from user where username like '%${value}%' 3 </select>
备注:${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value,使用${}不能防止sql注入,但是有时用${}会非常方便
日期的处理
1,数据库里存的是date 使用 insert 语句
1 | insert into mytest_t values (1, '张三' ,to_date( '2011-09-09' , 'yyyy-MM-dd' )) |
1 | insert into mytest_t values (1, '张三' ,to_date( '20110909' , 'yyyyMMdd' )) |
2,数据库里面存的时varchar2 直接插入
insert into mytest_t values(1,'zhangdan','2011-09-09')
3,查询 ,数据库存的是varchar2
日期输出的格式是由 to_char 决定的
select to_char(to_date(birthday01,'yyyy-mm-dd'),'yyyy-MM-dd') from MYTEST_T 输出是:yyyy-MM-dd
select to_char(to_date(birthday01,'yyyy-mm-dd'),'yyyyMMdd') from MYTEST_T 输出是:yyyyMMdd
4,查询 ,数据库存的是date
1 2 | select to_char(birthday, 'yyyy-MM-dd' ) from MYTEST_T 格式 是由to_char 决定的 select to_char(birthday, 'yyyyMMdd' ) from MYTEST_T |
5,
1 2 3 4 5 6 7 | select to_char(sysdate, 'yyyy-MM-dd hh24:mi:ss' ) as nowTime from dual; //日期转化为字符串 select to_char(sysdate, 'yyyy' ) as myyear from mytest; //获取时间的年 select to_char(sysdate, 'mm' ) as myMonth from mytest; //获取时间的月 select to_char(sysdate, 'dd' ) as myDay from mytest; //获取时间的日 select to_char(sysdate, 'hh24' ) as myHour from mytest; //获取时间的时 select to_char(sysdate, 'mi' ) as myMinute from mytest; //获取时间的分 select to_char(sysdate, 'ss' ) as mySecond from mytest; //获取时间的秒 |