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

网站建设类的手机软件荣耀手机商城官方网

网站建设类的手机软件,荣耀手机商城官方网,178网站建设,小型公司网站建设目录 一.MyBatis中的动态SQL 二.MyBatis中的模糊查询 1. # 符号 2. $ 符号 ---问题 ---所以大家知道 # 和 $ 在MyBatis中的模糊查询中的区别了嘛#xff1f;#xff1f; 三.MyBatis 中的结果映射 1. resultType#xff1a; 2. resultMap#xff1a; ---问题 ---…目录 一.MyBatis中的动态SQL 二.MyBatis中的模糊查询 1.  # 符号 2.  $  符号 ---问题 ---所以大家知道 # 和 $  在MyBatis中的模糊查询中的区别了嘛 三.MyBatis 中的结果映射 1. resultType 2. resultMap ---问题 ---所以大家知道 resultType 和 resultMap  在MyBatis中的映射中的区别了嘛 一.MyBatis中的动态SQL 动态SQL是MyBatis中一个非常有用的功能可以根据不同的条件来动态生成SQL语句以实现更灵活的数据操作。在MyBatis中动态SQL可以通过使用if、choose、when、otherwise等标签来实现。这些标签可以根据条件判断来决定是否包含某部分SQL语句 MyBatis提供了几种方式来实现动态SQL 1. 使用基于XML的动态SQL在映射文件mapper.xml中使用if、choose、when、otherwise等标签来实现条件判断和SQL片段的动态拼接。例如 select idfindUser parameterTypemap resultTypeUserSELECT *FROM userWHERE 11if testid ! nullAND id #{id}/ifif testname ! nullAND name #{name}/if /select 在上面的例子中根据传入的参数map中的id和name是否为空动态拼接了不同的SQL片段。 2. 使用基于注解的动态SQL通过在Java方法上使用SelectProvider、UpdateProvider等注解并在对应的Provider类中编写动态SQL逻辑。Provider类可以根据传入参数动态生成SQL语句。例如 SelectProvider(type UserProvider.class, method findUser) User findUser(MapString, Object params);public class UserProvider {public String findUser(MapString, Object params) {StringBuilder sql new StringBuilder(SELECT * FROM user WHERE 11);if (params.get(id) ! null) {sql.append( AND id #{id});}if (params.get(name) ! null) {sql.append( AND name #{name});}return sql.toString();} }上面的例子中根据传入的参数params中的id和name是否为空动态拼接了不同的SQL语句。 使用动态SQL能够根据不同的条件生成不同的SQL语句提高了查询的灵活性和代码的可维护性。在实际开发中可以根据具体需求选择适合的动态SQL实现方式。 二.MyBatis中的模糊查询 1.  # 符号这种方式是使用预编译的方式处理参数即将参数值转义后拼接到SQL语句中。在SQL语句执行前会使用PreparedStatement进行参数绑定。这种方式可以一定程度上防止SQL注入攻击因为参数值会被转义处理。 例如  输出结果 在上面的例子中#{bname}会将传入的bname值进行预编译转义处理然后再拼接到SQL语句中。 2.  $  符号这种方式是直接将参数值按照原样拼接到SQL语句中。在SQL语句执行前不会进行预编译处理。这种方式适用于处理列名、表名等无法通过预编译处理的情况。然而这种方式存在SQL注入的风险因为参数值是直接拼接到SQL语句中没有经过转义处理。 例如 输出结果 在上面的例子中${bname}会将传入的bname值直接拼接到SQL语句中。 ---问题 ---所以大家知道 # 和 $  在MyBatis中的模糊查询中的区别了嘛 使用  # 可以有效防止SQL注入攻击因为参数值会进行预编译处理。但是这样会导致SQL语句无法被缓存因为每次参数值不同都会生成一个新的预编译SQL语句。使用的时候不需要带引号         使用 $ 符号可以处理那些不能被预编译处理的部分使用符号可以处理那些不能被预编译处理的部分但是存在SQL注入的风险。此外使用符号会将参数值直接拼接到SQL语句中有一定的性能提升因为SQL语句可以被缓存和重用。在使用的时候需要带引号。并且 $ 可以用来做动态列完成动态开发 因此在使用#和$时需要根据具体场景和需求来选择合适的方式。一般来说推荐使用#符号并根据需要在SQL语句中使用动态SQL来处理特殊情况下的参数拼接。 MyBatis的模糊查询有三种查询方式上面已经介绍了两种还有最后一种                           它输出的方式和 # 的是一样的在企业中一般采用这种方式 三.MyBatis 中的结果映射 在MyBatis的结果映射中resultType和resultMap是两种不同的方式来指定结果映射规则。 1. resultType resultType是一种简单的结果映射方式用于指定查询结果应该映射到的Java对  象的类型。可以直接指定Java对象的类名或别名。 例如 select idgetUserById resultTypeUserSELECT *FROM userWHERE id #{id} /select 在上面的例子中resultTypeUser指定了查询结果应该映射到User对象。 2. resultMap resultMap是一种更灵活和复杂的结果映射方式用于定义详细的结果映射规则。通过                在映射文件mapper.xml或注解中定义resultMap标签或Results注解来指定结 映             射规则。可以通过id、result和association等标签或注解来指定如何将查询结果映             射到Java对象的属性。 例如 resultMap iduserResultMap typeUserid propertyid columnid/result propertyname columnname/result propertyage columnage/association propertydepartment javaTypeDepartmentid propertyid columndept_id/result propertyname columndept_name//association /resultMap 在上面的例子中定义了一个名为userResultMap的结果映射详细指定了查询结果的字段与Java对象的属性之间的映射关系。 ---问题 ---所以大家知道 resultType 和 resultMap  在MyBatis中的映射中的区别了嘛 区别和使用场景 resultType适用于简单的结果映射当查询结果只涉及一个Java对象时可以使用resultType来指定映射的Java对象类型。这种方式简单明了适用于简单的查询场景。  resultMap适用于复杂的结果映射当查询结果涉及多个Java对象、关联对象或需要自定义映射规则时可以使用resultMap来定义详细的结果映射规则。这种方式更灵活适用于复杂的查询场景。
http://www.tj-hxxt.cn/news/218567.html

相关文章:

  • 三亚网络网站建设传奇网页链接
  • 杭州网站建设hzfwwl宁波seo推广如何收费
  • 电脑上买wordpress雪军miui一键优化
  • 餐饮网站建设案例公司登记
  • 酒店网站建设功能一叶子电子商务网站建设策划书
  • 怎么做公司网站竞价预约网免费建站流程
  • 保定建设招聘信息网站wordpress 用户接口
  • 上海专业网站建设平台注册公司的流程和步骤
  • 网站用什么域名wordpress设置网站首页
  • 手机商城网站制作网站定制开发微信运营
  • 加强健康养老网站建设wordpress怎么开启多站点
  • 弹性盒子做微网站南宁网络推广软件
  • 网站推广策划内容设计制作个人网站
  • 中小企业外贸网站建设现状个人网页制作模板怎么做
  • 做网站用的主机多少合适discuz下载官网
  • 网站首页顶部图片尺寸搭建asp虚拟主机网站
  • 英文网站建设一般多少钱如何做物流网站
  • 网站群建设原则无锡做网站企业
  • 网站信息安全保障制度建设情况那个网站做二手车好
  • 绍兴市住房与城乡建设厅网站淘宝网站开发的多少钱
  • 仿站是什么自己做购物网站
  • 网站制作英文版网站律师网站建设推广
  • 建站时候源码有验证怎么办孝感做网站xgsh
  • 网站代码需要注意什么问题wordpress百度分享插件下载
  • 学校网站开发价格禹城做网站的
  • 网站 建设 公司wordpress 调用评论框
  • 网站建设丿金手指下拉合肥网站设计服
  • 龙岩网站建设的软件贵州萝岗seo整站优化
  • 在线ui设计网站深圳龙岗设计
  • 受欢迎的手机网站建设网站建设与运营就业