映射参数
来源:互联网 发布:java http请求获取mac 编辑:程序博客网 时间:2024/06/05 12:04
1、参数
a、当只有一个参数时,则在xml映射文件中获取改参数数据时没有要求
b、当有多个参数时,则默认将这些参数放到Map集合中,key为arg0…argn或param1…paramn;为了在获取参数值时xml映射文件中的key有意义,可以通过@Param注解的方式指定key的值
c、当参数为自定义引用类型时,则直接使用#{成员变量名}
d、{}与#{}区别:{}直接将数据和sql进行拼接,无法防止SQL注入;#{}以?方式作为占位符,可以防止SQL注入
对数据进行添加,修改或者删除时方法返回值可以是布尔,int,long,及其包装类,如果为Boolean或其包装类则表示是否修改成功,如果为int或long类型,及其包装类,则返回受影响的行数
1、
有两个参数实质是用map实现的,mybatis自动转换(转下面的2)
package com.lq.userinfo;import org.apache.ibatis.annotations.Param;import com.lq.vo.UserInfo;public interface IUserInfoDao{ UserInfo selectById(@Param("id")String id,@Param("name")String name);}
package com.lq.userinfo;import com.lq.vo.UserInfo;public interface IUserInfoService { UserInfo selectById(String id,String name);}
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.lq.userinfo.IUserInfoDao"> <select id="selectById" resultType="com.lq.vo.UserInfo"> select * from employee where id=#{id} and user_name=#{name} </select></mapper>
package com.lq.userinfo.imp;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.lq.userinfo.IUserInfoDao;import com.lq.userinfo.IUserInfoService;import com.lq.vo.UserInfo;@Servicepublic class UserInfoService implements IUserInfoService{ @Autowired IUserInfoDao userInfoDao; @Override public UserInfo selectById(String id,String name) { return userInfoDao.selectById(id,name); }}
2、
package com.lq.test;import java.util.HashMap;import java.util.Map;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.lq.userinfo.IUserInfoDao;import com.lq.vo.UserInfo;public class Test { public static void main(String[] args){ ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml"); IUserInfoDao userInfoDao = applicationContext.getBean(IUserInfoDao.class); Map<String,String> map = new HashMap<>(); map.put("param1", "9c702712-cc24-4573-accf-c3c9bcd9daf7"); map.put("param2", "丹"); UserInfo userInfo= userInfoDao.selectById(map); System.out.println(userInfo); applicationContext.close(); }}
package com.lq.userinfo;import java.util.Map;import com.lq.vo.UserInfo;public interface IUserInfoDao{ UserInfo selectById(Map<String,String> map);}
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.lq.userinfo.IUserInfoDao"> <select id="selectById" resultType="com.lq.vo.UserInfo"> select * from employee where id=#{param1} and user_name=#{param2} </select></mapper>
3、
参数为自定义类型
package com.lq.userinfo;import com.lq.vo.UserInfo;public interface IUserInfoDao{ UserInfo selectById(UserInfo userInfo);}
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.lq.userinfo.IUserInfoDao"> <select id="selectById" resultType="com.lq.vo.UserInfo"> select * from employee where id=#{id} and user_name=#{userName} </select></mapper>
package com.lq.test;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.lq.userinfo.IUserInfoDao;import com.lq.vo.UserInfo;public class Test { public static void main(String[] args){ ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml"); IUserInfoDao userInfoDao = applicationContext.getBean(IUserInfoDao.class); UserInfo userInfo = new UserInfo(); userInfo.setId("9c702712-cc24-4573-accf-c3c9bcd9daf7"); userInfo.setUserName("丹"); userInfo = userInfoDao.selectById(userInfo); System.out.println(userInfo); applicationContext.close(); }}
阅读全文
0 0
- 映射参数
- 映射请求参数&请求参数
- mybatis参数映射
- mybatis参数映射
- mybatis参数映射
- mybatis参数映射
- ffmpeg x264 参数映射
- @RequestParam映射请求参数
- mybatis参数映射
- 【springMVC】请求参数映射
- Three20多参数映射 TTUrlMap
- Mybatis多参数查询映射
- SpringMVC的参数映射问题
- java之mybatis参数映射
- 深入理解SpringMVC 参数映射
- 10006---SpringMVC 映射请求参数 & 请求参数
- 参数映射控制器映射jsp或者ftl页面
- ibatIS 参数类型设置,内联参数映射与外联参数映射
- Linux系统资源获取并写入数据库
- 剑指offer-02:设计一个单例模式的类
- CASIA步态能量图像数据库
- 最短路--dijkstra
- Bad Cowtractors
- 映射参数
- RMQ
- Java并发编程实战(学习笔记四 第五章 基础构建模块 下)
- mantisbt的安装,亲自试验,绝对可用
- 51nod 1534 棋子游戏 ACM
- 简单的动态日期
- Hadoop
- qt5.5.1+vs2010发送邮件
- JMockit实践--(2)mock依赖