createQuery() createSQLQuery() createCriteria()
Creates Query Object Creates Query Object Creates Criteria Object
Uses HQL Syntax Uses DB Specific Syntax Uses Entity Class
The Columns of the rows retrieved would be name of the POJO Model Class The Columns of the rows retrieved would be name of Native DB fields Create sql query using Criteria object for setting the query parameters
CRUD operation could be done CRUD operation could be done Only Read Operation is allowed
Supports Interoperability between different DB’s Does not support Interoperability since the query format should be changed when the DB is changed Supports Interoperability between different DB’s
Does not work without Model Class Bean with columns of Table alone is Enough.No need for Entity class generation Does not work without Model Class
No need for mapping between Entity class object and Table Columns The Bean Objects should be mapped with table Columns No need for mapping

createQuery – session.createQuery()

------------------------------------------------------
**DB_TBL_Col(tblEmployee)**| **POJO(Employee)**
EMP_ID                     | employeeID
------------------------------------------------------
Query query = session.createQuery("from Employee E where E.employeeID = 'A%'");
List<Person> persons = query.list();

parent-pom.xml

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8</version>
    </dependency>
 </dependencies>
</dependencyManagement>

child-pom.xml

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
 </dependencies>

Two Main Differeneces

  1. Dependency Management allows to consolidate and centralize the management of dependency versions without adding dependencies which are inherited by all children. This is especially useful when you have a set of projects (i.e. more than one) that inherits a common parent.Another extremely important use case of dependencyManagement is the control of versions of artifacts used in transitive dependencies.You still need to define them in the child POM to show that you are using them. They are not actually included in the child projects just because they are in in the parent POM. Enclosing dependencies in centralizes management of the version, scope, and exclusions for each dependency, if and when you decide to use it.
  2. Artifacts specified in the section <dependencies> will ALWAYS be included as a dependency of the child module(s).Artifacts specified in the section will only be included in the child module if they were also specified in the section of the child module itself. Why is it good you ask? because you specify the version and/or scope in the parent, and you can leave them out when specifying the dependencies in the child POM. This can help you use unified versions for dependencies for child modules, without specifying the version in each child module.

To sum up the above points in simple words in the parent-pom.xml if you are adding things inside tag then it would be available to the child-pom.xml. If you are adding the same thing within tag then you should manually add them to the child-pom.xml.In the child-pom.xml if the version is not specified it will take the parent-pom.xml version of the dependency as default else you can override them by specifying one in child-pom.xml

References Read It

BuildDeploy.bat

 cscript /nologo c:\Utils\stopjboss.vbs

 set JBOSS_DEPLOYMENT=c:\jboss\standalone\deployments
 set DEVELOPMENT_HOME=c:\projectName
 set BRANCH=BranchName\ReleaseNo
 
 del /q %JBOSS_DEPLOYMENT%\*.*
 cd %DEVELOPMENT_HOME%\%BRANCH%
 
 call mvn clean
 call mvn install -o
 
 IF EXISTS  %DEVELOPMENT_HOME%\%BRANCH%\SpringMVC.war (
  goto :startServer
 ) else (
  echo Build Failed
 )

 exit /b

:startServer
 copy %DEVELOPMENT_HOME%\%BRANCH%\SpringMVC.war %JBOSS_DEPLOYMENT%
 cscript /nologo c:\Utils\startjboss.vbs
goto :eof

startjboss.vbs

 Set WshShell = WScript.CreateObject("WScript.Shell")
 activateServer("Server")
 WshShell.SendKeys "%{d}"

 Function activateServer(windowName)
   WshShell.SendKeys "^{3}"
   WScript.Sleep 500
   WshShell.SendKeys windowName
   WScript.Sleep 500
   WshShell.SendKeys "{ENTER}"
 End Function

stopjboss.vbs

 Set WshShell = WScript.CreateObject("WScript.Shell")
 activateServer("Server")
 WshShell.SendKeys "%{s}"
 WScript.Sleep 5000

How it Works

  • We are using a VBScript to Start and Stop server by Sending Key Strokes to Eclipse(Shortcut Keys)
  • The mvn clean and mvn install is done in 2 different steps to make sure that clean of the war files happen before the new file is created since executing clean and install in single shot happened to give inconsistent results
  • Once the build is done we are checking whether the war file is created or we are assuming the build failed and we are not starting the server
  • The builddeploy.bat should be configured in External Tools Configuration
  • Workdirectory is the one which has pom.xml of the project
  • Assign a shortcut key to Run Last Run Build Configuration

How to arrange Two excel sheets side by Side

Steps

  • Click on View tab, Click on New Window
  • Click on Arrange All, Select Vertical

Now to compare 2 Rows in 2 Excel Sheets

  • Select the Rows in the Sheet which needs to be compared
  • Click on Conditional Formatting Option
  • =ISNA(MATCH(A2,Sheet2!A2,FALSE))

If you want the formatting to be applied only for one Column select that column and apply conditional formatting

Instead of

 =$A$2:$B$7

it should be

 =$A$2:$A$7

in Conditional Rules Formatting Manager

Download Excel

How to highlight rows which have different row value of one Column

null

The Steps are as Below
Below is the way to highlight the rows based on a change in value in the single column.The Column considered is SNo

Steps

  • Select the whole DataSet LookUpArray on which the conditional formatting to be applied
  • Click on Conditional Formatting
  • Click on new Rule
  • Use a formula to determine which cells to format
  • Note : The formula used is relative formula =ISNA(MATCH($D2,$A$2:$A$7,FALSE))
  • Use the format option to apply the Conditional format on the cells
  • The same could be seen in Conditional Formatting->Manage Rules for future rule edits

In the below image Rows 4 and 7 are highlighted because of mismatch in SNo and 5 is highlighted because of mismatch in fruit name

Checking for Identical rows in two tables with more than one column

 =ISNA(MATCH($D2,$A$2:$A$7,FALSE)&MATCH($E2,$B$2:$B$7,FALSE) )

Steps

  • First we are checking if the rows in D2 is same as on in A2 to A7
  • Second we are checking if the rows in E2 is same as on in B2 to B7
=MATCH(lookup_value, lookup_array, match_type)

lookup_value – Value you are interested in
lookup_array – Column you want to look for value
match_type – Whether it should be a exact match or approximate match

Match Function

 =MATCH(D2,A2:A7,FALSE)

Looks for D2 in the Lookup Array in A2 to A7

Match with Msg

  =IFERROR(MATCH(D2,A2:A7,FALSE),"Missing")

In case of Error IFERROR is used to make it display as Missing

Match with ISNA

  =ISNA(MATCH(D2,A2:A7,FALSE))

If #N/A then it would be displayed as True

Match with 2 Columns

  =MATCH(D2,A2:A7,FALSE)&MATCH(E2,B2:B7,FALSE)

In the above code, we are checking the two columns for uniqueness by using two match function
and using && Operator to display the value as 11 or #N/A

System Path is one which comes when you type cmd in windows->run
Other simple commands are dir,ver,cls

Storing Variable Name

>>set strName=Mugil
>>echo  %strName%

Typing set and pressing enter will return system variable

>>set

To check for List of Users type

>>set USER

String Cancatenation

>>set strFirstName=Mugil
>>set strFirstName=%strFirstName% Vannan

Displays Volumne Info

>>vol D:
>>dir /B

Get option of Util
>>dir /?
>>cls /?

Lists folder in Dir with details

>>dir

Lists folder in Dir without details

>>dir /B

Turn off the command executed in Screen

>>echo off

Turn off the Display of Batch Statements when Echo off command activated(Works for Script)

>>@echo off

/A tag will allow us to work with mathematical operation

>>Set /A

/P tag will allow user inputs by prompting msg

>>Set /P

Getting Inputs from Console

@echo off

set /p name=Please Enter your name

echo.
echo Your name is - %name%

pause

Labels(Organize code pieces)

:label

Goto(Jumps to Label and starts execution)

goto :label

Comments

rem this is comment
:: this is again a comment

Functions

:getSum
   echo The Sum is Addition of Two Numbers
goto :eof	 

Calling Functions within function

:getMath
	echo Calling Sum Function
	call :getSum	
goto :eof

:getSum
   echo The Sum is Addition of Two Numbers
goto :eof	 

Functions that takes Argument


The below batch script helps to read the selected trailing lines from Log File

@echo off
cls
setlocal EnableDelayedExpansion
set "cmd=findstr /R /N "^^" C:\Users\Mugil\Desktop\test.txt | find /C ":""

for /f %%a in ('!cmd!') do set totalLines=%%a
rem echo "totalLines-"%totalLines%


@set linesToConsider=4
set /a lineToStart="%totalLines%-%linesToConsider%" 

rem echo "lineToStart-"%lineToStart%

set content=
for /f "skip=%lineToStart% delims=" %%i in ('type C:\Users\Mugil\Desktop\test.txt') do set content=!content! %%i


@echo "content - "%content%


If NOT "%content%"=="%content:SUCCESS=%" (
    echo Build Successful
) else (
    echo Build Failed
)

pause