`

拼接字符串的学习

阅读更多
package com.ccid.str;

import java.text.SimpleDateFormat;
import java.util.Date;

public class TestHqlString {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Date date1 = new Date();
Date date2 = new Date();
String[] baseArray = {"BusinessType","Methodology","CaseBase"};

String str1 = "参数1";
//getKnowledgeBase(str1,date1,date2,baseArray);
String str2 = "参数1 参数2 ";
getKnowledgeBase(str2,date1,date2,baseArray);
String str3 = "参数1 参数2 参数3 ";
//getKnowledgeBase(str3,date1,date2,baseArray);
String str4 = "参数1 参数2 参数3 参数4 ";
//getKnowledgeBase(str4,date1,date2,baseArray);
}

public static String getKnowledgeBase(String searchStr, Date startDate, Date endDate,String[] baseArray){
String[] searchArray = searchStr.trim().split(" ");
String hqlStr = "from ";
String tableStr = "";
String whereStr = "";

//加入时间条件
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
for (int m = 0; m < baseArray.length; m++) {

tableStr = tableStr + baseArray[m] + ", ";

String whereDateStr = "";

if (!baseArray[m].equals("CaseBase")) {
whereDateStr = baseArray[m] + ".createDate between " + f.format(startDate) + " and " + f.format(endDate) + " and ";
}

String whereLikeStr = "";

for (int i = 0; i <searchArray.length; i++) {
whereLikeStr = whereLikeStr + baseArray[m] + ".name like '%" + searchArray[i] + "%' or ";
}

whereStr = whereStr + "(" + whereDateStr + "(" + whereLikeStr.substring(0, whereLikeStr.lastIndexOf("or") - 1) + ")) or ";
}

tableStr = tableStr.substring(0, tableStr.lastIndexOf(",") - 1);

whereStr = whereStr.substring(0, whereStr.lastIndexOf("or") - 1);

System.out.println(hqlStr + tableStr + " where " + whereStr);





// if (baseArray[m] == "BusinessType") {
// tableStr = tableStr + " BusinessType b";
// whereStr = whereStr + "((b.createDate between " + f.format(startDate) + " and " + f.format(endDate) + ") and ( ";
// for (int i = 0; i <searchArray.length; i++) {
// whereStr = whereStr + "b.name like '%"+searchArray[i]+"%'";
// if (i != searchArray.length-1) {
// whereStr = whereStr + " or ";
// }
// }
// whereStr = whereStr + " )) ";
// }
// if (baseArray[m] == "Methodology") {
// tableStr = tableStr + " Methodology m";
// whereStr = whereStr + "((m.createDate between " + f.format(startDate) + " and " + f.format(endDate) + ") and (";
// for (int i = 0; i <searchArray.length; i++) {
// whereStr = whereStr + " m.name like '%"+searchArray[i]+"%' ";
// if (i != searchArray.length-1) {
// whereStr = whereStr + " or ";
// }
// }
// whereStr = whereStr + " )) ";
// }
// if (baseArray[m] == "CaseBase") {
// tableStr = tableStr + " CaseBase c";
// whereStr = whereStr + " ( ";
// for (int i = 0; i <searchArray.length; i++) {
// whereStr = whereStr + " c.name like '%"+searchArray[i]+"%' ";
// if (i != searchArray.length-1) {
// whereStr = whereStr + " or ";
// }
// }
// whereStr = whereStr + " )";
// }
// if (m != baseArray.length-1) {
// tableStr = tableStr + ",";
// whereStr = whereStr + " or ";
// }
// }





// hqlStr = hqlStr + tableStr + whereStr;
// System.out.println(hqlStr);
// System.out.println("################");
return hqlStr;

}

}
分享到:
评论

相关推荐

    vue语法之拼接字符串的示例代码

    Vue语法之拼接字符串的示例代码详解 通过本篇文章,我们可以了解到Vue语法中拼接字符串的示例代码的使用方法。该文章主要介绍了Vue语法中拼接字符串的示例代码,并提供了实践示例,以便大家更好地理解和应用。 ...

    day08 09 练习:按指定格式拼接字符串

    day08_09_练习_按指定格式拼接字符串

    Python拼接字符串的7种方式详解

    今天,我跟大家一起来学习Python拼接字符串的七种方式。 1、来自C语言的%方式 print('%s %s' % ('Hello', 'world')) &gt;&gt;&gt; Hello world %号格式化字符串的方式继承自古老的C语言,这在很多编程语言都有类似的实现。上...

    最全的Jython学习资料:来自官网(二) 字符串模块

    在Python中,struct模块用于处理二进制数据,它能够将Python的值与C结构体之间的转换打包成Python字符串表示,也可以将打包的字符串解包为Python值。这是处理二进制数据,特别是来自文件、网络连接等不同来源的二...

    Access数据库自定义连接字符串.pdf

    ### Access数据库自定义连接字符串详解 #### 一、引言 在进行网页开发时,连接数据库是一项基础且重要的任务。Microsoft Access作为一款轻量级的桌面数据库系统,因其易用性和与Office套件的集成性而被广泛使用。...

    Python3字符串学习教程

    ### Python3字符串学习教程 #### 引言 Python 作为一种流行的编程语言,其简洁明了的语法特性使得它成为初学者的理想选择。本教程重点介绍 Python3 中的字符串处理技术,帮助初学者掌握这一基本而重要的概念。字符...

    字符串过滤类(StrUtil)

    通过阅读`StrUtil.java`源代码,我们可以深入了解每个方法的具体实现,学习如何优化字符串操作,并可能从中获取灵感,为自己的项目创建类似的工具类。对于Java开发者来说,熟悉和掌握这样的工具类是非常有益的。

    work2_分割字符串_字符串处理_

    字符串处理还包括其他一些基本操作,如拼接、查找、替换等。例如,`strcat()` 和 `strncat()` 可以用来连接两个或多个字符串,`strstr()` 可以查找子字符串在主字符串中的位置,`strchr()` 和 `strrchr()` 则分别...

    2.Golang的基础语法(分隔符,注释,标识符,字符串拼接,空格)1

    此外,为了提高代码的可读性,建议在运算符周围使用空格,尤其是在函数调用和拼接字符串时。虽然这不强制执行,但良好的编码风格会让代码更易于理解。例如: ```go title = "QAX" + "NB" // 阅读体验提升 ``` 在这个...

    易语言十六进制与字符串转换

    对于每个字符,我们可以单独进行转换,然后将结果拼接成最终的十六进制字符串。 2. **十六进制转字符串**:相反的过程需要先使用“十六进制到整数”函数将十六进制字符串转换为十进制,再用“整数到字符串”函数将...

    字符串操作封装函数

    1. **字符串拼接**:将多个字符串合并为一个,这通常通过`+`运算符或者`join()`方法来实现。 2. **字符串分割**:使用`split()`函数将字符串按照指定分隔符进行切割,返回一个字符串列表。 3. **查找与替换**:`find...

    MATLAB 直接赋值构造字符串示例

    这可能包括创建字符串,拼接字符串,格式化数字,以及可能使用某些字符串函数。通过学习这个示例,你将能够更好地掌握MATLAB中的字符串处理技巧,这对于编写MATLAB程序来说是非常有用的。 总结,MATLAB的字符串处理...

    C语言字符、字符串定义及相关函数

    标题《C语言字符、字符串定义及相关函数》所涉及的知识点主要集中在C语言中字符与字符串的表示方法、存储机制以及常用的字符...此外,了解字符串在内存中的存储方式以及如何使用指针和数组是深入学习C语言的必要条件。

    字符串、字符和正则表达式

    例如,频繁使用`+`进行字符串拼接会创建大量中间字符串,此时使用`StringBuilder`类会更高效,因为它允许在内存中动态地构建和修改字符串(性能提示12.2)。 字符在C#中由`char`类型表示,它是单个Unicode字符。...

    JavaScript中使用concat()方法拼接字符串的教程

    使用concat()方法拼接字符串的基本语法如下: string.concat(string2, string3[, ..., stringN]); 其中,string是原始字符串,string2到stringN是要拼接的其他字符串。方法返回的是一个新的字符串,其中包含了原始...

    C++字符串完全指南.rar_C 字符串_字符串_字符串操作_读字符串

    - **拼接**:可以使用`+`运算符或`std::string::append()`方法拼接字符串。 - **查找和替换**:`find()`用于查找子串,`replace()`用于替换子串。 - **拷贝和截取**:`substr()`可以截取字符串的一部分,`copy()`...

    数据结构(线性表和字符串部分)

    2. **字符串操作**:字符串操作包括拼接、截取、查找子串、替换子串、反转字符串等。例如,`strcat()`函数用于连接两个字符串,`strstr()`函数用于查找子串的位置,`strcpy()`用于复制字符串。 3. **字符串处理算法...

    字符串专题文档

    1. **拼接**:将两个或多个字符串连接成一个新的字符串,这通常通过`+`运算符或者`join()`方法实现。 2. **查找与替换**:使用`indexOf()`或`search()`来查找子字符串,用`replace()`或正则表达式进行替换操作。 3. ...

    .net 数组与字符串

    在处理大量字符串时,可以使用`StringBuilder`类,它提供了一个可变的字符序列,适用于构建或修改字符串,尤其在循环中拼接字符串时,性能优于多次调用`+`或`Concat()`。 在内存管理方面,数组和字符串都是引用类型...

    C#字符串和正则表达式参考手册

    在实际开发中,结合`StringBuilder`类处理大量字符串拼接,以及利用正则表达式的强大功能进行数据验证和清洗,都将使你的代码更加高效和专业。通过深入阅读《C#字符串和正则表达式参考手册》,你将能够更全面地理解...

Global site tag (gtag.js) - Google Analytics