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做处理