Today we will discuss about Conjunction ie AND and Disjunction ie OR Clause in Dynamic Query . Before reading this blog it is highly recommended to read my previous blog on introduction of dynamic query.
For each operation we have two ways. So lets start with the example:-
1)Conjunction ie AND Clause
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* SELECT * FROM user_ user WHERE user.userId = 12206 AND user.emailAddress like '%adit%'; | |
*/ | |
DynamicQuery userQuery = DynamicQueryFactoryUtil.forClass(User.class, "user",PortalClassLoaderUtil.getClassLoader()); | |
Conjunction conjunction = RestrictionsFactoryUtil.conjunction(); | |
conjunction.add(RestrictionsFactoryUtil.eq("user.userId",12206L)); | |
conjunction.add(RestrictionsFactoryUtil.like("user.emailAddress", "%adit%")); | |
userQuery.add(conjunction); | |
try { | |
List<User> userList = UserLocalServiceUtil.dynamicQuery(userQuery); | |
for (User user : userList) { | |
System.out.println("User Id=>>"+user.getUserId()+" User Name=>>"+user.getFirstName()); | |
} | |
} catch (SystemException e2) { | |
e2.printStackTrace(); | |
} |
Second way
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* SELECT * FROM user_ user WHERE user.userId = 12206 AND user.emailAddress like '%adit%'; | |
*/ | |
DynamicQuery userQuery = DynamicQueryFactoryUtil.forClass(User.class, "user",PortalClassLoaderUtil.getClassLoader()); | |
userQuery.add(RestrictionsFactoryUtil.and(RestrictionsFactoryUtil.eq("user.userId",12206L), RestrictionsFactoryUtil.like("user.emailAddress", "%adit%"))); | |
try { | |
List<User> userList = UserLocalServiceUtil.dynamicQuery(userQuery); | |
for (User user : userList) { | |
System.out.println("User Id==>>"+user.getUserId()+" User Name==>>"+user.getFirstName()); | |
} | |
} catch (SystemException e2) { | |
e2.printStackTrace(); | |
} |
2)Disjunction ie OR Clause
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* SELECT * FROM user_ user WHERE user.userId = 12206 OR user.emailAddress like '%adit%'; | |
*/ | |
DynamicQuery userQuery = DynamicQueryFactoryUtil.forClass(User.class, "user",PortalClassLoaderUtil.getClassLoader()); | |
Disjunction disjunction = RestrictionsFactoryUtil.disjunction(); | |
disjunction.add(RestrictionsFactoryUtil.eq("user.userId",12206L)); | |
disjunction.add(RestrictionsFactoryUtil.like("user.emailAddress", "%adit%")); | |
userQuery.add(disjunction); | |
try { | |
List<User> userList = UserLocalServiceUtil.dynamicQuery(userQuery); | |
for (User user : userList) { | |
System.out.println("User Id=>>"+user.getUserId()+" User Name=>>"+user.getFirstName()); | |
} | |
} catch (SystemException e2) { | |
e2.printStackTrace(); | |
} |
Second way
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* SELECT * FROM user_ user WHERE user.userId = 12206 OR user.emailAddress like '%adit%'; | |
*/ | |
DynamicQuery userQuery = DynamicQueryFactoryUtil.forClass(User.class, "user",PortalClassLoaderUtil.getClassLoader()); | |
userQuery.add(RestrictionsFactoryUtil.or(RestrictionsFactoryUtil.eq("user.userId",12206L), RestrictionsFactoryUtil.like("user.emailAddress", "%adit%"))); | |
try { | |
List<User> userList = UserLocalServiceUtil.dynamicQuery(userQuery); | |
for (User user : userList) { | |
System.out.println("User Id==>>"+user.getUserId()+" User Name==>>"+user.getFirstName()); | |
} | |
} catch (SystemException e2) { | |
e2.printStackTrace(); | |
} |
Hope this will Help....
Related Post:-
No comments:
Post a Comment