第一种:Map
Java
1. Map map=new HashMap();
2. map.put("start", 0);
3. map.put("total", 4);
4. List list=session.selectList("selectByLimit",map);
Mapper.xml:
1.<select id="selectByLimit" parameterType="map" resultType="people">
2.select * from people limit #{start},#{total}
3.</select>
第二种:注解
基本数据类型(parameterType="xxx")(接口方法声明参数中可使用注解@param(“xx”),一个参数时可以不用加@param,多个参数是就要用@param了。)Java
1.public List<Role> findA(@Param("roleName")String roleName,@Param("note")String note);//接口
Mapper.xml:
1.<select id="findA" resultMap="roleMap">
2. SELECT id,role_name,note FROM t_role
3. WHERE role_name like concat
4. ('%',#{roleName},'%')
5. and note like concat('%',#{note},'%')
6. </select>
第三种:实体类
Java
1. People people=new People();
2. people.setP_id(UUID.randomUUID().toString());
3. people.setP_name("人");
4. people.setP_age("88");
5. session.insert("insertPeople",people);
6. session.commit();
Mapper.xml
1.<insert id="insertPeople" parameterType="people">
2. insert into people(p_id,p_name,p_age) values(#{p_id},#{p_name},#{p_age})
3.</insert>
总结:
map类型的参数:表达式用的是map的k值,特殊的值要用map封装,参数类型是map封装.推荐用预处理模式#{}
resultMap:标签的id属性值;表示返回结果,有具体的数据格式(实体类的格式),数据的封装结果
resultType:表示封装结果,可以表示指定的有别名的实体类对象,或者map对象
模糊查询方式一定是非预处理模式${}