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

免费网站建设工具/南昌seo实用技巧

免费网站建设工具,南昌seo实用技巧,中建人才网,制作一个app软件需要多久在mybatis中进行参数传递时,在最底层的源码中都会创建一个Map类对参数进行参数封装,例如在对多个参数进行传递时, package com.itheima.pojo;public class User {private Integer id;private String username;private String password;priva…

 在mybatis中进行参数传递时,在最底层的源码中都会创建一个Map类对参数进行参数封装,例如在对多个参数进行传递时,

package com.itheima.pojo;public class User {private Integer id;private String username;private String password;private String gender;private String addr;public void setId(Integer id) {this.id = id;}public void setUsername(String username) {this.username = username;}public void setPassword(String password) {this.password = password;}public void setGender(String gender) {this.gender = gender;}public void setAddr(String addr) {this.addr = addr;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +", gender='" + gender + '\'' +", addr='" + addr + '\'' +'}';}
}
<select id="select" resultType="com.itheima.pojo.User">select *from tb_Userwhereusername=#{username}and password=#{password}</select>

 如上面代码,在我们进行多参数传递时,此时在底层代码运行中会先创造一个map类对其进行封装,传递参数中的,参数一(username)所对应的参数名为arg0或param1,代表着我们此时在sql语句中可以通过arg0或param1知道的我们实际想要的参数(username)

package com.itheima;import com.itheima.mapper.BrandMapper;
import com.itheima.mapper.UserMapper;
import com.itheima.pojo.Brand;
import com.itheima.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class UserMappTest {@Testpublic void testSelect() throws IOException {String username="zhangsan";String password="123";//1.加载mybatis的核心配置文件,获取SqlSessionFactoryString resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//2.获取SqlSession对象,用它来执行sqlSqlSession sqlSession=sqlSessionFactory.openSession();
//        //3.执行sqL
//        List<User> users=sqlSession.selectList("test.selectAll");//3.1 获取UserMapper接口的代理对象UserMapper userMapper=sqlSession.getMapper(UserMapper.class);User user=userMapper.select(username,password);System.out.println(user);//4.释放资源sqlSession.close();}
}

 

如我下面对代码如果没有对相应参数进行@param注解,因为传递的参数username在map封装类中的所对应的参数名为arg0或param1,所当我在sql语句username=#{username}中想要通过键名#{username}找到相应的username值是找不到的会有以下报错

现在我对代码进行改编

<select id="select" resultType="com.itheima.pojo.User">select *from tb_Userwhereusername=#{arg0}and password=#{arg1}</select>

结果如下

但是在实际中如果,这样的键名使用起来并不是很方便,因此我们进行@param注释

User select(@Param("username") String username, @Param("password") String password);

运行结果如下:

 此时可以知道map封装类中对应于password和username的键名因为@param注释进行了改编,当然此时也要改变sql语句中的键名

运行结果如下

 很nice!!!

这样就可以让代码变得简洁易懂

一下时MyBatis对不同参数进行参数封装的键名

MyBatis 参数封装:

- 单个参数:
1.POJ0类型:直接使用,属性名和参数占位符名称一致

2.Map集合:直接使用,键名和参数占位符名称一致

3.Collection:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名        

        map.put("arg",collection集合);

        map.put("collection",collection集合);

4.List:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名

map.put("arg0"list集合);

map.put("collection",list集合);map.put("list"list集合);

5.Array:封装为Map集合,可以使用Param注解,替换Map集合中默认的arg键名

map.put("arg"数组);

map.put("array",数组);

6.其他类型:直接使用

- 多个参数:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名

map.put("arg0",参数值1)
map.put("param1",参数值1)
map.put("param2",参数值2)
map.put("agr1",参数值2)
------@Param("username")
map.put("username",参数值1)
map.put("param1",参数值1)
map.put("param2",参数值2)
map.put("agr1",参数值2)

http://www.whsansanxincailiao.cn/news/31958544.html

相关文章:

  • 做黄色网站会受到什么惩罚/宁波seo外包方案
  • 2021最新新闻国内大事件/seo快速优化文章排名
  • 公司静态网站模板/html网页制作模板代码
  • 网站建立的步骤/百度网址大全免费下载
  • 南京建站推广公司/产品推广计划方案
  • dw网站怎么做背景图/中国制造网网站类型
  • asp+sql server典型网站建设案例(源码)3/惠州网络营销
  • 企业推广活动/南宁求介绍seo软件
  • 简洁风格的网站模板免费下载/爱站网官网
  • 刚做的网站怎么搜索不出来/app推广方式
  • 网站建设三站合一/百度公司高管排名
  • 网站建设必会的软件有哪些/bt磁力猫
  • 58同城东莞招聘/好搜seo软件
  • 望京做网站公司/网络营销公司排行榜
  • 广州高端网站建设公司/游戏优化软件
  • 做网站需要了解什么东西/营销型企业网站建设的内容
  • 北京高端网站建设制作设计/灰色词快速排名接单
  • 高师本科化学实验教学体系建设与创新型人才培养 教学成果奖申报网站/营销网站建设培训学校
  • 博物馆网站 微信 微博 建设方案/网站建设流程是什么
  • 网站建设费可以计入管理费用吗/优化步骤
  • 网站搭建要多少钱/有产品怎么找销售渠道
  • 做网站赚取广告费/厦门seo公司
  • 党建网站建设成效/友妙招链接
  • 如归网络营销推广企业/北京优化seo排名
  • 建设网站出现400错误/torrentkitty磁力猫
  • 江西建设厅网站财务部/网站友情链接查询
  • wordpress http https/优化网址
  • 做网站公司未来的发展方向/南宁百度seo排名优化软件
  • 榆林做网站电话/cnn头条新闻
  • 萝岗高端网站建设/最好的推广平台排名