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

织梦的手机端网站河南网络优化服务

织梦的手机端网站,河南网络优化服务,听说上海又要封了,昭通市建设局网站文章目录 简介单个字面量类型的参数多个字面量类型的参数map集合类型的参数实体类类型的参数使用Param标识参数总结 简介 MyBatis获取参数值的两种方式:${}和#{}${}的本质就是字符串拼接,#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql&#x…

文章目录

  • 简介
  • `单个`字面量类型的参数
  • 多个字面量类型的参数
  • map集合类型的参数
  • 实体类类型的参数
  • 使用@Param标识参数
  • 总结

简介

  • MyBatis获取参数值的两种方式:${}和#{}
  • ${}的本质就是字符串拼接,#{}的本质就是占位符赋值
  • ${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号

单个字面量类型的参数

若mapper接口中的方法参数为单个的字面量类型,此时可以使用${}和#{}以任意的名称(最好见名识意)获取参数的值,注意${}需要手动加单引号

<!--User getUserByUsername(String username);-->
<select id="getUserByUsername" resultType="User">select * from t_user where username = #{username}
</select>
<!--User getUserByUsername(String username);-->
<select id="getUserByUsername" resultType="User">  select * from t_user where username = '${username}'  
</select>

多个字面量类型的参数

若mapper接口中的方法参数为多个时,此时MyBatis会自动将这些参数放在一个map集合中

1. 以arg0,arg1...为键,以参数为值;
2. 以param1,param2...为键,以参数为值;
  • 因此只需要通过${}和#{}访问map集合的键就可以获取相对应的值,注意${}需要手动加单引号。
  • 使用arg或者param都行,要注意的是,arg是从arg0开始的,param是从param1开始的
<!--User checkLogin(String username,String password);-->
<select id="checkLogin" resultType="User">  select * from t_user where username = #{arg0} and password = #{arg1}  
</select>
<!--User checkLogin(String username,String password);-->
<select id="checkLogin" resultType="User">select * from t_user where username = '${param1}' and password = '${param2}'
</select>

map集合类型的参数

  • 若mapper接口中的方法需要的参数为多个时,此时可以手动创建map集合,将这些数据放在map中只需要通过${}和#{}访问map集合的键就可以获取相对应的值,注意${}需要手动加单引号
<!--User checkLoginByMap(Map<String,Object> map);-->
<select id="checkLoginByMap" resultType="User">select * from t_user where username = #{username} and password = #{password}
</select>
@Test
public void checkLoginByMap() {//读取MyBatis的核心配置文件InputStream is = Resources.getResourceAsStream("mybatis-config.xml");//获取SqlSessionFactoryBuilder对象SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();//通过核心配置文件所对应的字节输入流创建工厂类SqlSessionFactory,生产SqlSession对象SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);//获取sqlSession,此时通过SqlSession对象所操作的sql都必须手动提交或回滚事务//SqlSession sqlSession = sqlSessionFactory.openSession();//创建SqlSession对象,此时通过SqlSession对象所操作的sql都会自动提交SqlSession sqlSession = sqlSessionFactory.openSession(true);//通过代理模式创建UserMapper接口的代理实现类对象UserMapper userMapper = sqlSession.getMapper(UserMapper.class);//调用UserMapper接口中的方法,就可以根据UserMapper的全类名匹配元素文件,通过调用的方法名匹配映射文件中的SQL标签,并执行标签中的SQL语句Map<String,Object> map = new HashMap<>();map.put("usernane","张三1");map.put("password","123");User user = userMapper.checkLoginByMap(map);System.out.println(user);
}

实体类类型的参数

若mapper接口中的方法参数实体类对象时此时可以使用${}和#{},通过访问实体类对象中的属性名获取属性值,注意${}需要手动加单引号

<!--int insertUser(User user);-->
<insert id="insertUser">insert into t_user values(null,#{username},#{password},#{age},#{sex},#{email})
</insert>
@Test
public void insertUser() {......//这里之前省略的代码......User user = new User(null,"Tom","123456","123@321.com",0);userMapper.insertUser(user);
}

使用@Param标识参数

  • 可以通过@Param注解标识mapper接口中的方法参数,此时,会将这些参数放在map集合中
1.@Param注解的value属性值为键,以参数为值;
2. 以param1,param2...为键,以参数为值;
  • 只需要通过${}和#{}访问map集合的键就可以获取相对应的值,注意${}需要手动加单引号
<!--User CheckLoginByParam(@Param("username") String username, @Param("password") String password);--><select id="CheckLoginByParam" resultType="User">select * from t_user where username = #{username} and password = #{password}</select>
@Test
public void checkLoginByParam() {......//省略代码........userMapper.CheckLoginByParam("admin","123456");
}

总结

建议分成两种情况进行处理

1. 实体类类型的参数
2. 使用@Param标识参数
http://www.yayakq.cn/news/828949/

相关文章:

  • 漳州做网站最便宜按效果付费的网络推广方式
  • 怎样增加网站的权重做外贸网站需要注意哪些
  • 如何用js做网站阳山网站seo
  • 网站制作和美工景安服务器安装wordpress
  • 网站建设 好公司长沙网站建设公司联系方式
  • 广西住房城乡建设厅网站怎么下载随申办app
  • 最新新闻热点事件2022年8月企业seo推广的绝密诀窍曝光
  • 织梦 公司网站模板wordpress 多域名绑定域名
  • 做网站客户怎么找wordpress 生命周期
  • 建设网站怎么添加端口映射wordpress去category
  • 网上网站怎么做如何制作多网页网站
  • 用phpcms做的网站模板泰安新闻
  • 游戏 网站 模板百度竞价外包
  • 网站总体设计就业合同模板
  • 网站备案能查到什么东西广州市天河区建设局网站
  • 无障碍网站建设的意义四川建设厅证网站是
  • 彬县网站建设黑帽seo技术论坛
  • 中国政务网站建设绩效评估网站的建设步骤
  • php网站iis设置域名抢注网站建设
  • 雄安免费网站建设成都建设银行合作装修网站
  • 虾皮跨境电商网站付费下插件wordpress
  • 市辖区郑州网站建设wordpress入门
  • 网站建设的一般要素帮做动态头像的网站
  • 临海建设银行网站东营市建设信息网官网
  • 如何开发一个网站网站推广营销运营方式
  • 做跨境的网站有哪些内容wordpress缓存文章页
  • wordpress 图片 主题 52seo网站系统
  • 汽车租赁企业网站源码自己开发小程序
  • 嘉兴网站建设网址android 做分享的网站
  • 建设局网站模板火车头wordpress发布图片