当前位置: 首页 > news >正文

做pc端网站机构网站建设 网站制作

做pc端网站机构,网站建设 网站制作,企业软文营销发布平台,水产公司网站源码1 parameterType parameterType&#xff1a;接口中方法参数的类型&#xff0c;类型必须是完全限定名或别名&#xff08;稍后讲别名&#xff09;。该属性非必须&#xff0c;因为Mybatis框架能自行判断具体传入语句的参数&#xff0c;默认值为未设置&#xff08;unset)。<sel…

1 parameterType

parameterType:接口中方法参数的类型,类型必须是完全限定名或别名(稍后讲别名)。该属性非必须,因为Mybatis框架能自行判断具体传入语句的参数,默认值为未设置(unset)。<select>,<insert>,<update>,<delete>都可以使用 parameterType 指定参数类型。

2 传递单个参数

当接口中的方法只有一个参数的时候,直接使用#{任意名称}传参即可,#{}中的名称与方法中的参数名称无关。

3 传递多个参数

当接口中方法有多个参数的时候,有以下方式传参:

3.1 通过参数下标索引

接口正常书写,映射文件中SQL语句的占位符必须用 arg0 agr1…,或param1 param2…

注意:mybatis-3.3 之前的版本使用#{0},#{1}方式, 从 mybatis3.4 开始使用#{arg0}方式。

TeamMapper接口添加如下内容:

 List<Team> queryByRange1(Integer min, Integer max);

TeamMapper.xml配置文件中添加如下:

<!--多个参数:标签中不需要parameterType属性方式1:通过下标索引的方式,还有两种方式(太难记了,可以忽略,看看演示就好啦)select * from team where teamId &gt;=#{arg0} and teamId &lt;=#{arg1}; 也可以,注意下表索引细节1:mybatis3.3版本之前:可以直接写#{0} #{1}从mybatis3.4开始:#{arg0} #{arg1}... 或者是 #{param1} #{param2}...细节2:sql语句中不能使用小于号,使用转移符号替换;大于号没有限制,也可以使用转义符号替换&gt;--><select id="queryByRange1" resultType="com.lina.pojo.Team">select * from team where teamId >=#{param1} and teamId &lt;=#{param2};</select>

测试类添加方法:

/*** ClassName: TestTeamMapperArg* 测试输入映射:多个参数* @author wanglina* @version 1.0*/
public class TestTeamMapperArg {private TeamMapper teamMapper= MybatisUtil.getSqlSession().getMapper(TeamMapper.class);@Testpublic void test01(){List<Team> teams = teamMapper.queryByRange1(1004, 1010);teams.forEach(team -> System.out.println(team));}
}

3.2 通过@Param注解

在方法的形参前面加入@Param("自定义参数名称"),mapper文件中使用#{自定义参数名称}的方式传参。

TeamMapper接口添加如下内容:

List<Team> queryByRange2(@Param("min") Integer min, @Param("max") Integer max);

TeamMapper.xml配置文件中添加如下:

    <!--方式2:通过注解的方式:#{}中的名称必须与接口的方法中的参数注解@Param()保持一致select * from team where teamId >=#{param1} and teamId &lt;= #{param2}; 不推荐,但是语法也是正确的,但是不能使用arg0,arg1......--><select id="queryByRange2" resultType="com.lina.pojo.Team">select * from team where teamId >=#{min} and teamId &lt;= #{max};</select>

测试类添加方法:

    @Testpublic void test02(){List<Team> teams = teamMapper.queryByRange2(1005, 1011);teams.forEach(team -> System.out.println(team));}

3.3 通过map来传递多个参数

Map 集合可以存储多个值,使用Map向 mapper 文件一次传入多个参数。Map 集合使用 String的 key,Object 类型的值存储参数。 mapper 文件使用 # { key } 引用参数值

TeamMapper接口添加如下内容:

List<Team> queryByRange3(Map<String,Object> map);

TeamMapper.xml配置文件中添加如下:

<!--方式3:通过map来传递多个参数:映射文件中的参数占位符必须和map中的String类型的字段名称一样--><select id="queryByRange3" resultType="com.lina.pojo.Team">select * from team where teamId >=#{min} and teamId &lt;= #{max};</select>

测试类添加方法:

@Testpublic void test03(){TeamMapper teamDao= sqlSession.getMapper(TeamMapper.class);       Map<String, Object> map=new HashMap<>();map.put("min",1001);map.put("max",2000);List<Team> teamList3 = teamDao.queryByRange3(map);for (Team team : teamList3) {System.out.println(team);}}

3.4 通过pojo类传递多个参数

与map传递多个参数类似,要求映射文件中的参数占位符必须和pojo类中的属性完全一致。

实体类:

/*** ClassName: QueryVO* 自己封装的查询条件* @author wanglina* @version 1.0*/
public class QueryVO {private String name;private Integer min;private Integer max;private String location;//省略set get
}
​

TeamMapper接口添加如下内容:

List<Team> queryByCondition(QueryVO vo);

TeamMapper.xml配置文件中添加如下:

<!--方式4:通过pojo类传递多个参数:映射文件中的参数占位符必须和pojo类中的字段完全一致-->
<select id="queryByCondition" resultType="com.lina.pojo.Team">select * from teamwhere teamId>=#{min} and teamId&lt;=#{max}and teamName like #{name} and location=#{location}</select>

测试类添加方法:

@Testpublic void test04(){QueryVO vo=new QueryVO();vo.setLocation("洛杉矶");vo.setName("%球队%");vo.setMin(1001);vo.setMax(1111);List<Team> teams = teamMapper.queryByCondition(vo);teams.forEach(team -> System.out.println(team));}
http://www.mmbaike.com/news/28598.html

相关文章:

  • 网站建设 商城南昌网站建设
  • 怎样做禁毒网站的试卷品牌网络推广
  • 统一汤达人选择她做汤面活动网站营销策划公司名字
  • 大型公司为什么做网站福州seo网站推广优化
  • 上海南站网站建设公司淘宝seo具体优化方法
  • 政府网站建设功能seo网站推广工具
  • 网站的集约化建设网站管理与维护
  • 电商网站建设讯息官网seo怎么做
  • 深圳网站建设开发公司哪家好今日军事新闻视频
  • 杭州网站建设专家深圳纯手工seo
  • 铁路专业简历制作西安seo外包平台
  • 邢台做网站推广的公司高级seo课程
  • 像百度重新提交网站优化关键词是什么意思
  • 怎么做蒙文网站苏州网络推广服务
  • 网站开发的基本流程文库互动营销的案例有哪些
  • 网站对联广告图片网店产品seo如何优化
  • 做本地网站能赚钱么百度搜索关键词排名人工优化
  • 做汽车网站怎么挣钱吗上海外包seo
  • 做搜索引擎优化对网站有哪些好处产品宣传推广策划
  • 湘潭做网站 就问磐石网络推广工具有哪些
  • 深圳市网站建设公司设计网络推广需要花多少钱
  • 网站域名分类代刷网站推广链接免费
  • 广州做网站地方软件开发公司
  • 网站动态页面怎么做十大新媒体平台有哪些
  • magento做预订类网站网络服务平台
  • php网站开发实用技术答案北京seo专业团队
  • 枣庄公司网站建设2021百度最新收录方法
  • 建设网站预算百度平台营销宝典
  • 雄安移动网站国外产品推广平台
  • 网站首页客服qq做超链接常见的推广方式有哪些