`
bluetaoren
  • 浏览: 74605 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

StringBuilder的一些意识

    博客分类:
  • java
 
阅读更多

在使用StringBuilder时,应注意以下几点:

new出来的对象,当不追加任何内容时,是“”,不是null。这点在sql语句中尤其要注意,因为一些sql语句支持null,却不支持“”。例如

StringBuilder userIds = new StringBuilder();
if(usercIds != null && usercIds.size() > 0)
{
    for(int t = 0; t < usercIds.size(); t++)
    {
        if(userIds == null || userIds.length() == 0)
        {
             userIds.append(usercIds.get(t));
         }
         else
         {
              userIds.append(",").append(usercIds.get(t));
         }
     }
   }
else
{
    userIds = null;
} 

 

<select id="selectMemberCsShowInCenter"  parameterType="map" resultType="com.lietou.ltc.dao.entity.User_c" >
    select SQL_CALC_FOUND_ROWS  a.* from ${db_user}.user_c as a  
    <where>
    <if test="c_kind != null">
     and a.c_kind=#{c_kind} 
    </if>
     <if test="h_industry != null">
      and a.c_industry in (${h_industry})
     </if>
     <if test="h_jobtitle != null">
      and a.c_jobtitle in (${h_jobtitle})
     </if>
     <if test="userc_ids != null">
      and a.user_id in (${userc_ids})
     </if>
    </where>
    order by a.c_modifytime desc limit #{limit_cnt}
    <!-- limit #{start}, #{pagesize} -->
</select> 

注意上面 sql语句中的条件:in时

 

sql语句支持。。

where user_id in (1, "", null);

但是不支持where user_id in(1, , "");而StringBuilder不追加内容,直接传进来解析成sql语句就是这样不支持的。

分享到:
评论

相关推荐

    石家庄天远科技集团有限公司—Java开发笔试题

    `StringBuffer`和`StringBuilder`是线程安全和非线程安全的可变字符串类,分别在多线程和单线程环境中更优,因其在修改时不会创建新对象,提高了性能。 `List`和`Map`是Java集合框架中的接口,两者有显著的区别。`...

    .Net性能优化的几点建议

    - `GC.GetTotalMemory`方法则提供了一种更简单的方式来获取对象的大小,但它会丢失一些细节,并且包含了一些额外的对象。 #### 八、引用类型对象布局 在.NET中,引用类型的对象布局会影响其在内存中的存储方式。...

    java华为面试题.pdf

    综合以上内容,华为面试题中可能包含对Java基础知识、集合框架、多线程编程、JSP、网络编程、Servlet、EJB、JDBC等知识点的考察,同时也会关注应聘者的安全意识,如线程安全、防止SQL注入和XSS攻击、事务管理等。...

    MD5加密JAVA

    StringBuilder hexString = new StringBuilder(); for (byte b : messageDigest) { hexString.append(String.format("%02x", 0xFF & b)); } return hexString.toString(); } public static void main(String...

    完整目录-改善Java程序的151个建议.PDF

    这本书原本是没有目录的,在读者阅读到第92条建议时,作者意识到添加目录的重要性并补充了完整的目录。接下来,我们将对这一主题进行深入探讨,包括Java编程的一些核心概念以及如何应用这些建议来提高程序性能。 ##...

    C# MD5加密实例

    StringBuilder result = new StringBuilder(); for (int i = 0; i ; i++) { result.Append(hashBytes[i].ToString("x2")); } return result.ToString(); } public static void Main() { // 示例用法 ...

    用md5加密你的密码.rar

    StringBuilder builder = new StringBuilder(); for (int i = 0; i ; i++) { builder.Append(hashBytes[i].ToString("x2")); } return builder.ToString(); } ``` 这段代码将输入的明文密码转换为UTF8编码的...

    MD5算法-两种方法

    StringBuilder hexString = new StringBuilder(); for (byte b : messageDigest) { hexString.append(String.format("%02x", 0xFF & b)); } return hexString.toString(); } catch (NoSuchAlgorithmException ...

    用java实现MD5加密

    StringBuilder hexString = new StringBuilder(); for (byte b : digest) { hexString.append(String.format("%02x", 0xFF & b)); } String md5Hash = hexString.toString(); ``` 在上述代码中,`getInstance("MD5...

    ASP.Net生成MD5的方法.

    StringBuilder sBuilder = new StringBuilder(); for (int i = 0; i ; i++) { sBuilder.Append(data[i].ToString("x2")); } // 返回哈希值 return sBuilder.ToString(); } } public static void Main() ...

    Java的MD5加密

    StringBuilder hexString = new StringBuilder(); for (byte b : digestBytes) { hexString.append(String.format("%02x", 0xFF & b)); } String hash = hexString.toString(); ``` 这样,我们就得到了一个32位的MD...

    SHA1(加密工具类)

    StringBuilder hexString = new StringBuilder(); for (byte b : hashBytes) { hexString.append(String.format("%02x", b & 0xff)); } return hexString.toString(); } } ``` 这个工具类的`getSHA1`方法将...

    C#用MD5加密操作实战源码__0525.rar

    StringBuilder hashStringBuilder = new StringBuilder(hashBytes.Length * 2); foreach (byte b in hashBytes) { hashStringBuilder.Append(b.ToString("x2")); } string hashString = hashStringBuilder.ToString...

    java实习周记25篇 (2).pdf

    第二周,实习生专注于Java的基础语法学习,包括类之间的关系(关联、聚合、继承、实现和多态)、基本数据类型、逻辑和循环语句、修饰符、static关键字、final关键字、this关键字、String和StringBuilder的特性等。...

    Unity工具类之生成文本验证码

    在Unity开发过程中,有时我们需要创建一些特殊的功能,例如在WebGL应用中实现用户验证。本文将详细讲解如何在Unity中生成文本验证码,这个功能对于增加应用安全性,防止恶意自动化操作具有重要意义。 验证码通常是...

    Java实习周报通用25篇

    第一周,实习生主要适应了公司环境,意识到实习不仅仅是学习新知识,而是需要适应实际工作环境,调整作息习惯。这一阶段,他们熟悉了工作环境和Java编程的环境配置,强调了“多看、多问、多观察、多思考”的学习态度...

    java公司面试题

    - **protected**: 类似于public,但是比public更封闭一些。protected修饰的成员可以在同一包内以及不同包下的子类中访问。 #### 2. String、StringBuffer、StringBuilder的区别 - **String**: 不可变的对象类型,...

    图文验证码

    可以使用Java的`Random`类和`StringBuilder`来实现。 2. **绘制图像**:使用Java的`Graphics2D`类来绘制验证码的背景、干扰线、噪点以及字符。背景可以是随机颜色,干扰线和噪点可以增加图像的复杂性,防止机器轻易...

    编写高效优雅Java程序.docx

    避免无意识地创建对象,如自动装箱操作,可以减少不必要的内存开销。如果成员变量可以在多个实例间共享,应考虑使用static修饰。对象池技术适用于创建成本较高的对象,如数据库连接,但需谨慎使用,以免过度设计。 ...

Global site tag (gtag.js) - Google Analytics