ibatis2基础1
ibatis2基础一
1、配置文件头
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> </sqlMapConfig>
2、调用存储过程
配置文件
定义存储过程,括号中代表传入的参数,参数通过Map来定义
<typeAlias alias="bar" type="front.pojo.Bar"></typeAlias> <procedure id="findByRealName" parameterMap="pp" resultClass="bar"> {call dbo.ibatis_procedure(?)} </procedure> <parameterMap id="pp"> <parameter property="realName" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" /> </parameterMap>
Java调用
public List findBarListByRealName(String realName) throws SQLException { Map map = new HashMap(); map.put("realName", realName); List list=sqlMapper.queryForList("findByRealName", map); return list; }
3、SQL特殊字符
<select id="selectIpByStartAndEnd" parameterClass="java.util.HashMap" resultMap="ipIpaddressResult"> <![CDATA[ select * from front.ip.ipaddress where (startint<=#startInt# and endint>=#endInt#) or (startInt>=#startInt# and startInt<=#endInt#) or (endInt>=#startInt# and endInt<=#endInt#) ]]> </select>
4、基本类型传值
传入值为基本类型时,sql引用为value
select u.userId as userId,u.userName as userName,u.password as password,r.roleId as roleId,r.roleName as roleName,re.resourceId as resourceId,re.resourceName as resourceName from T_USER u left join T_USER_ROLE ur on u.userId=ur.userId left join T_ROLE r on ur.roleId=r.roleId left join T_ROLE_RESOURCE rre on rre.roleId=r.roleId left join T_RESOURCE re on rre.resourceId=re.resourceId where u.userId=#{value}
5、
#默认调用PreparedStatement,防止注入
$不对string做处理