Popular Feed

Check Syntax of database Query using Java

Use below maven dependency.

                <dependency>

<groupId>com.github.jsqlparser</groupId>

<artifactId>jsqlparser</artifactId>

<version>0.9</version>

</dependency> 


package org.script.validation;

import net.sf.jsqlparser.parser.CCJSqlParserUtil;

import net.sf.jsqlparser.statement.Statement;

import net.sf.jsqlparser.statement.insert.Insert;

import net.sf.jsqlparser.statement.select.PlainSelect;

import net.sf.jsqlparser.statement.select.Select;

import net.sf.jsqlparser.statement.update.Update;


public class ScriptValidation {


public static void parseSelect(String query) {

try {

System.out.println("Parsing Select..");

Select select = (Select) CCJSqlParserUtil.parse(query);

System.out.println("Select Successfully Parsed");

}

catch (Exception e) {

// TODO: handle exception

System.out.println("Error Parsing in select");

e.printStackTrace();

}

}

public static void parseInsert(String query) {

try {

System.out.println("Parsing Insert..");

Insert insert = (Insert) CCJSqlParserUtil.parse(query);

System.out.println("Insert Successfully Parsed");

System.out.println(insert.getTable());

System.out.println(insert.getColumns());

System.out.println(insert.getItemsList().toString());

}

catch (Exception e) {

// TODO: handle exception

System.out.println("Error Parsing in Insert");

e.printStackTrace();

}

}

public static void main(String[] args) {

String select="SELECT MLG_ID, MLG_KEY_NAME, LOCALE_CODE, MLG_TEXT, STATUS_CODE, LAST_UPDT_BY_ID, LAST_UPDT_ON_TS, RAPIDM_ID, RAPIDM_TYPE\r\n"

+ "FROM RAPIDM_CNFG_RKS_HCA.MLG_VALUE\r\n"

+ "WHERE MLG_ID=141111;\r\n"

+ "";

String insert1="INSERT INTO RAPIDM_CNFG_RKS_HCA.MLG_VALUE(MLG_ID, MLG_KEY_NAME, LOCALE_CODE, MLG_TEXT, STATUS_CODE, LAST_UPDT_BY_ID, LAST_UPDT_ON_TS, RAPIDM_ID, RAPIDM_TYPE) VALUES\r\n"

+ "(1550, 'DOC_CENTER_BODY_A_DOC_CENTER_SUBMITTED', 'en_us', 'Submitted', 'A', 'MULTI_CH_X5224_X52242002', '10/14/2022', NULL, NULL);\r\n"

+ "";

parseSelect(select);

parseInsert(insert1);

}

}


No comments: