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

网站建设需要洽谈什么frog 网站建设

网站建设需要洽谈什么,frog 网站建设,如何开发一个微网站,手机版oa系统在SpringBoot开发过程中#xff0c;我们使用 ***Mapper.xml***Mapper.java 来封装对数据库表的 CURD 操作#xff0c;正常每张表会有一组对应的文件。 一、Mapper常见用法 下面例举一个查询操作#xff1a; 数据表t_sap_customer#xff0c;表中有字段id、code、name、c…在SpringBoot开发过程中我们使用 ***Mapper.xml***Mapper.java 来封装对数据库表的 CURD 操作正常每张表会有一组对应的文件。 一、Mapper常见用法 下面例举一个查询操作 数据表t_sap_customer表中有字段id、code、name、create_time、update_time、last_ver、is_valid现在需要根据id、is_valid来查询一条数据 TSapCustomerMapper.java 代码 package com.starcharge.repository.db1.product.mapper;import com.starcharge.repository.db1.product.domain.TSapCustomerDO; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository;Repository public interface TSapCustomerMapper {TSapCustomerDO detail(String id,String isValid); }TSapCustomerMapper.xml 代码 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.abc.repository.db1.product.mapper.TSapCustomerMapper!-- 创建数据库与实体类字段对应关系 --resultMap idBaseResultMap typecom.abc.repository.db1.product.domain.TSapCustomerDOresult propertyid columnid/result propertyname columnname jdbcTypeVARCHAR/result propertycreateTime columncreate_time jdbcTypeVARCHAR/result propertyupdateTime columnupdate_time jdbcTypeVARCHAR/result propertylastVer columnlast_ver jdbcTypeVARCHAR/result propertyisValid columnis_valid jdbcTypeVARCHAR//resultMap!--查询列表--select iddetail resultMapBaseResultMapselectid,code,name,last_ver,is_valid,create_time,update_timefrom t_sap_customerwhere is_valid #{isValid} and id #{id}/select /mapper上面TSapCustomerMapper.java和TSapCustomerMapper.xml就是一组针对数据库表t_sap_customer的实体类操作*Mapper.java负责定义实体类的对外Api*Mapper.xml负责实现具体的CURD操作的SQL语句。 两者使用xml文件中的id属性值来做映射对应具体来说就是TSapCustomerMapper接口中的detail方法会到xml文件中找到对应的iddetail来执行。 二、mapper.xml入参方法 这里常见的一个问题是我们在执行SQL的时候会有各种入参那么我们要如何将api中的入参传入xml文件中请看下面介绍。 1、简单传参 TSapCustomerMapper.java和TSapCustomerMapper.xml 之间默认按照参数名入参。 以下的入参都是可以正常运行的 //TSapCustomerMapper.java Repository public interface TSapCustomerMapper {TSapCustomerDO detail(String id, String isValid); }//TSapCustomerMapper.xmlselect iddetail resultMapBaseResultMapselectid,code,name,last_ver,is_valid,create_time,update_timefrom t_sap_customerwhere is_valid #{isValid} and id #{id}/select2、Param传参 //TSapCustomerMapper.java Repository public interface TSapCustomerMapper {TSapCustomerDO detail(Param(id1) String id, Param(isValid1) String isValid); }//TSapCustomerMapper.xmlselect iddetail resultMapBaseResultMapselectid,code,name,last_ver,is_valid,create_time,update_timefrom t_sap_customerwhere is_valid #{isValid1} and id #{id1}/select3、Map入参 //SapCustomerImpl.java Service public class SapCustomerImpl implements SapCustomerService { Overridepublic TSapCustomerDO detail(String id) {HashMapString,String mapnew HashMapString,String();map.put(id,id);map.put(isValid,2);TSapCustomerDO r sapCustomerMapper.detail(map);return r;} }//TSapCustomerMapper.java Repository public interface TSapCustomerMapper {TSapCustomerDO detail(HashMap query); }//TSapCustomerMapper.xmlselect iddetail resultMapBaseResultMapselectid,code,name,last_ver,is_valid,create_time,update_timefrom t_sap_customerwhere is_valid #{isValid} and id #{id}/select4、param、arg入参 xml文件中默认会传入arg0...argN、param1...paramN两个使用索引的入参。arg从0开始param从1开始。 //TSapCustomerMapper.java Repository public interface TSapCustomerMapper {TSapCustomerDO detail(String id, String isValid); }//TSapCustomerMapper.xmlselect iddetail resultMapBaseResultMapselectid,code,name,last_ver,is_valid,create_time,update_timefrom t_sap_customerwhere is_valid #{param2} and id #{param1}/select5、简单入参Map入参 //SapCustomerImpl.java Service public class SapCustomerImpl implements SapCustomerService { Overridepublic TSapCustomerDO detail(String id) {HashMapString,String mapnew HashMapString,String();map.put(isValid,2);TSapCustomerDO r sapCustomerMapper.detail(id, map);return r;} }//TSapCustomerMapper.java Repository public interface TSapCustomerMapper {TSapCustomerDO detail(String id, HashMap map); }//TSapCustomerMapper.xmlselect iddetail resultMapBaseResultMapselectid,code,name,last_ver,is_valid,create_time,update_timefrom t_sap_customerwhere is_valid #{map.isValid} and id #{id}/select三、#{} 和 ${} 的区别 MyBatis中 #{ }和${ }都可以用来动态传递参数。 1、不同点 #{} 对应底层使用 jdbc的PreparedStatementd 对象来执行sql语句在SQL中相当于一个参数占位符“?”用来补全预编译语句。它补全预编译语句时可以理解为在此参数值两端统统使用单引号引起来。 #{} 里除了可以写接收参数的名称外还可以设置javaTypejdbcTypemode等。 ${} 对应底层使用 jdbc的Statement 对象来执行sql语句就是单纯的字符串拼接拼接完成后才会对SQL进行编译、执行所以性能较低也无法复用。但是在有些 #{ }无法胜任的地方还是会需要${ }来完成。 2、结论 #{} 很大程度防止sql注入提高系统安全一般能用#的地方就别用$。 ${} 无法防止Sql注入如果写的SQL语句的参数内容应该作为SQL的一部分此时必须使用$比如表名称order by 排序字段分组 group by 等。
http://www.w-s-a.com/news/81865/

相关文章:

  • 上海网站建设 永灿百度权重3的网站值多少
  • 公司展示网站模板模板工
  • 网站建设收费详情舟山公司做网站
  • 深圳宝安区住房和建设局网站html模板大全
  • 和田哪里有做网站的地方wordpress地址更改
  • 恒通建设集团有限公司网站企业网站百度指数多少算竞争大
  • 雅虎网站收录提交入口如何使用wordpress搭建网站
  • 微商城网站建设怎么样发稿是什么意思
  • dz建站与wordpress群晖做网站服务器速度快吗
  • 做手机网站的公司网站建设 app开发 图片
  • 网站开发技术背景介绍wordpress数据库重置密码
  • 开发建设网站的实施过程是一个logo设计品牌
  • 做360pc网站排名首页工程造价信息网官网首页
  • 产品销售网站模块如何设计大数据和网站开发
  • 现在帮别人做网站赚钱不济南做网站建设公司
  • 嘉兴网站建设哪家好最近三天的国际新闻大事
  • 安丘网站建设制作做网站口碑比较好的大公司
  • 成都专业做网站公司哪家好优化大师下载安装免费
  • 防蚊手环移动网站建设广东深圳有几个区
  • 网站建设找哪些平台宜兴网站开发
  • 免费网站应用软件wordpress添加动态图标
  • 中小企业网站建设客户需求调查问卷昆明网站建设一条龙
  • 网站内容的特点wordpress 移动端网页
  • 专门网站建设培训网站系统建设
  • 自己设计手机的网站wordpress主题加密教程
  • 北京网站建设公司飞沐卖水果网站建设的策划书
  • 北京免费自己制作网站短视频宣传片制作
  • 怎样进入谷歌网站电子商务网站建设软件选择
  • 建个普通网站多少钱设计师培训多少
  • 建设校园网站的意义视频链接提取下载