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

百度怎么推广网站网络设计中网络设备选择的原则

百度怎么推广网站,网络设计中网络设备选择的原则,最便宜的重庆网站建设,钉钉邮箱登录入口一、参数值的两种方式#{}和${} 在 MyBatis 中#xff0c;可以使用两种方式来获取参数值#xff1a;#{} 和 ${}。 1. #{}#xff1a;这是 MyBatis 推荐使用的方式。在 SQL 语句中使用 #{}#xff0c;MyBatis 会自动将参数值进行预编译处理#xff0c;防止 SQL 注入攻击可以使用两种方式来获取参数值#{} 和 ${}。 1. #{}这是 MyBatis 推荐使用的方式。在 SQL 语句中使用 #{}MyBatis 会自动将参数值进行预编译处理防止 SQL 注入攻击并且可以处理各种类型的参数如字符串、数字、日期等。例如 select idgetUserById resultTypeUserSELECT * FROM user WHERE id #{id}/select 在这个例子中#{id} 表示一个参数占位符MyBatis 会将它替换为具体的参数值。  2. ${}这种方式会直接将参数值拼接到 SQL 语句中不做预编译处理。这种方式适用于在 SQL 语句中引用列名、表名等无法使用 #{} 替换的情况。但需要注意的是使用 ${} 可能会导致 SQL 注入攻击的风险因此需要谨慎使用。例如 select idgetUserByName resultTypeUserSELECT * FROM user WHERE name ${name}/select 在这个例子中#{id} 表示一个参数占位符MyBatis 会将它替换为具体的参数值。 MyBatis获取参数值的两种方式${}和#{}${}的本质就是字符串拼接#{}的本质就是占位符赋值 ${}使用字符串拼接的方式拼接sql若为字符串类型或日期类型的字段进行赋值时需要手动加单引号但是#{}使用占位符赋值的方式拼接sql此时为字符串类型或日期类型的字段进行赋值时可以自动添加单引号   二、获取参数值的各种情况 2.1   单个字面量类型的参数 若mapper接口中的方法参数为单个的字面量类型此时可以使用${}和#{}以任意的名称最好见名识意获取参数的值注意${}需要手动加单引号 !--User getUserByUsername(String username);--select idgetUserByUsername resultTypeUserselect * from t_user where username #{username}/select!--User getUserByUsername(String username);--select idgetUserByUsername resultTypeUser select * from t_user where username ${username} /select2.2  多个字面量类型的参数 若mapper接口中的方法参数为多个时此时MyBatis会自动将这些参数放在一个map集合中。 ①  以arg0,arg1…为键以参数为值 ②  以param1,param2…为键以参数为值 因此只需要通过${}和#{}访问map集合的键就可以获取相对应的值注意${}需要手动加单引号。 使用arg或者param都行要注意的是arg是从arg0开始的param是从param1开始的 !--User checkLogin(String username,String password);--select idcheckLogin resultTypeUser select * from t_user where username #{arg0} and password #{arg1} /select!--User checkLogin(String username,String password);--select idcheckLogin resultTypeUserselect * from t_user where username ${param1} and password ${param2}/select2.3  map集合类型的参数 若mapper接口中的方法需要的参数为多个时此时可以手动创建map集合将这些数据放在map中只需要通过${}和#{}访问map集合的键就可以获取相对应的值注意${}需要手动加单引号 !--User checkLoginByMap(MapString,Object map);--select idcheckLoginByMap resultTypeUserselect * from t_user where username #{username} and password #{password}/selectTestpublic void checkLoginByMap() {SqlSession sqlSession SqlSessionUtils.getSqlSession();ParameterMapper mapper sqlSession.getMapper(ParameterMapper.class);MapString,Object map new HashMap();map.put(usermane,admin);map.put(password,123456);User user mapper.checkLoginByMap(map);System.out.println(user);}2.4  实体类类型的参数 若mapper接口中的方法参数为实体类对象时此时可以使用${}和#{}通过访问实体类对象中的属性名获取属性值注意${}需要手动加单引号 !--int insertUser(User user);--insert idinsertUserinsert into t_user values(null,#{username},#{password},#{age},#{sex},#{email})/insertTestpublic void insertUser() {SqlSession sqlSession SqlSessionUtils.getSqlSession();ParameterMapper mapper sqlSession.getMapper(ParameterMapper.class);User user new User(null,Tom,123456,12,男,123321.com);mapper.insertUser(user);}2.5  使用Param标识参数 可以通过Param注解标识mapper接口中的方法参数此时会将这些参数放在map集合中 以Param注解的value属性值为键以参数为值以param1,param2…为键以参数为值 只需要通过${}和#{}访问map集合的键就可以获取相对应的值注意${}需要手动加单引号 !--User CheckLoginByParam(Param(username) String username, Param(password) String password);--select idCheckLoginByParam resultTypeUserselect * from t_user where username #{username} and password #{password}/selectTestpublic void checkLoginByParam() {SqlSession sqlSession SqlSessionUtils.getSqlSession();ParameterMapper mapper sqlSession.getMapper(ParameterMapper.class);mapper.CheckLoginByParam(admin,123456);}三、总结 建议分成两种情况进行处理 实体类类型的参数使用Param标识参数 四、补贴知识点以map集合接收作为返回值类型 4.1  查询一条数据为map集合 /** * 根据用户id查询用户信息为map集合 * param id * return */ MapString, Object getUserToMap(Param(id) int id);!--MapString, Object getUserToMap(Param(id) int id);-- select idgetUserToMap resultTypemapselect * from t_user where id #{id} /select !--结果{password123456, sex男, id1, age23, usernameadmin}--4.2  查询多条数据为map集合 4.2.1  方法一 /** * 查询所有用户信息为map集合 * return * 将表中的数据以map集合的方式查询一条数据对应一个map若有多条数据就会产生多个map集合此时可以将这些map放在一个list集合中获取 */ ListMapString, Object getAllUserToMap();!--MapString, Object getAllUserToMap();-- select idgetAllUserToMap resultTypemap select * from t_user /select !--结果[{password123456, sex男, id1, age23, usernameadmin},{password123456, sex男, id2, age23, username张三},{password123456, sex男, id3, age23, username张三}] --4.2.2  方法二 /*** 查询所有用户信息为map集合* return* 将表中的数据以map集合的方式查询一条数据对应一个map若有多条数据就会产生多个map集合并且最终要以一个map的方式返回数据此时需要通过MapKey注解设置map集合的键值是每条数据所对应的map集合*/ MapKey(id) MapString, Object getAllUserToMap();!--MapString, Object getAllUserToMap();-- select idgetAllUserToMap resultTypemapselect * from t_user /select !--结果{1{password123456, sex男, id1, age23, usernameadmin},2{password123456, sex男, id2, age23, username张三},3{password123456, sex男, id3, age23, username张三}} --
http://www.hkea.cn/news/14511973/

相关文章:

  • 常德网站建设wynet123网站建设的物流
  • 网站建设 企业文化网络推广课程培训
  • 做网站没签合同logo设计 公司 免费
  • 常熟住房和城乡建设局网站网站建设开发计入什么会计科目
  • 网站开发的前台开发工具腾讯推广联盟
  • 静态网页做的网站怎么发到网上收录图片的网站
  • .net wap网站江西赣州人才网最新招聘信息
  • 手机app 网站西安建设网站
  • 如何做色流量网站中国哪家做网站的公司最大
  • 西安哪有做网站的事业单位网站建设方案
  • 网站logo如何替换网页编辑岗位职责
  • 工程类招聘网站哪个好ui网页设计实训报告
  • 免费资源源码网站东莞做网站公司哪家比较好
  • 网站建设好后有些什么资料四川平台网站建设设计
  • 镇江网站建设zjmfkj开发游戏用什么编程软件
  • 英文版网站制作门业网站 模板
  • 网站动画效果怎么做网站建站工作室
  • 查询网站备案进度php网站开发和部署
  • wordpress 建站视频wordpress菜单管理
  • 网站定制业务可以自己做论坛网站吗
  • 信阳建设企业网站网站做友链盈利
  • 企业外贸营销型网站app模板免费
  • 建设第三方公众号平台网站教程烟台论坛
  • qq钓鱼网站安徽建设工程信息网文件
  • 一个网站要怎么做的xml网站开发工具
  • 好的网站特点三网合一网站建设
  • 溆浦县建筑公司网站网站图一般做多少分辨率
  • 网站域名绑定ip公司让做网站违法
  • 网站开发软件和工具ide和编辑器wordpress做cms
  • 网站域名空间费用广东智能网站建设质量保障