├── .gitignore
├── Basic
├── .settings
│ ├── org.eclipse.jdt.apt.core.prefs
│ ├── org.eclipse.m2e.core.prefs
│ └── org.eclipse.jdt.core.prefs
├── target
│ └── classes
│ │ └── com
│ │ └── masai
│ │ ├── Test
│ │ └── Test.class
│ │ ├── Dao
│ │ ├── FMUtils.class
│ │ └── StudentDaoImpl.class
│ │ └── Model
│ │ └── Student.class
├── src
│ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── masai
│ │ │ ├── Test
│ │ │ └── Test.java
│ │ │ ├── Dao
│ │ │ ├── FMUtils.java
│ │ │ └── StudentDaoImpl.java
│ │ │ └── Model
│ │ │ └── Student.java
│ │ └── resources
│ │ └── META-INF
│ │ └── persistence.xml
├── .project
├── pom.xml
└── .classpath
├── BasicCRUD
├── .settings
│ ├── org.eclipse.jdt.apt.core.prefs
│ ├── org.eclipse.m2e.core.prefs
│ └── org.eclipse.jdt.core.prefs
├── target
│ └── classes
│ │ ├── com
│ │ └── masai
│ │ │ ├── Dao
│ │ │ ├── FMUtils.class
│ │ │ └── StudentDaoImpl.class
│ │ │ ├── Test
│ │ │ └── Test.class
│ │ │ └── Model
│ │ │ └── Student.class
│ │ └── META-INF
│ │ ├── MANIFEST.MF
│ │ ├── maven
│ │ └── com.masai
│ │ │ └── BasicCRUD
│ │ │ ├── pom.properties
│ │ │ └── pom.xml
│ │ └── persistence.xml
├── src
│ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── masai
│ │ │ ├── Test
│ │ │ └── Test.java
│ │ │ ├── Dao
│ │ │ ├── FMUtils.java
│ │ │ └── StudentDaoImpl.java
│ │ │ └── Model
│ │ │ └── Student.java
│ │ └── resources
│ │ └── META-INF
│ │ └── persistence.xml
├── .project
├── pom.xml
└── .classpath
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | /.metadata/
2 |
--------------------------------------------------------------------------------
/Basic/.settings/org.eclipse.jdt.apt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.apt.aptEnabled=false
3 |
--------------------------------------------------------------------------------
/BasicCRUD/.settings/org.eclipse.jdt.apt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.apt.aptEnabled=false
3 |
--------------------------------------------------------------------------------
/Basic/target/classes/com/masai/Test/Test.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shubh2-0/JPQl/HEAD/Basic/target/classes/com/masai/Test/Test.class
--------------------------------------------------------------------------------
/Basic/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/Basic/target/classes/com/masai/Dao/FMUtils.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shubh2-0/JPQl/HEAD/Basic/target/classes/com/masai/Dao/FMUtils.class
--------------------------------------------------------------------------------
/BasicCRUD/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/Basic/target/classes/com/masai/Model/Student.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shubh2-0/JPQl/HEAD/Basic/target/classes/com/masai/Model/Student.class
--------------------------------------------------------------------------------
/BasicCRUD/target/classes/com/masai/Dao/FMUtils.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shubh2-0/JPQl/HEAD/BasicCRUD/target/classes/com/masai/Dao/FMUtils.class
--------------------------------------------------------------------------------
/BasicCRUD/target/classes/com/masai/Test/Test.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shubh2-0/JPQl/HEAD/BasicCRUD/target/classes/com/masai/Test/Test.class
--------------------------------------------------------------------------------
/BasicCRUD/target/classes/com/masai/Model/Student.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shubh2-0/JPQl/HEAD/BasicCRUD/target/classes/com/masai/Model/Student.class
--------------------------------------------------------------------------------
/Basic/target/classes/com/masai/Dao/StudentDaoImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shubh2-0/JPQl/HEAD/Basic/target/classes/com/masai/Dao/StudentDaoImpl.class
--------------------------------------------------------------------------------
/BasicCRUD/target/classes/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Built-By: shubh
3 | Build-Jdk: 17.0.6
4 | Created-By: Maven Integration for Eclipse
5 |
6 |
--------------------------------------------------------------------------------
/BasicCRUD/target/classes/com/masai/Dao/StudentDaoImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shubh2-0/JPQl/HEAD/BasicCRUD/target/classes/com/masai/Dao/StudentDaoImpl.class
--------------------------------------------------------------------------------
/Basic/src/main/java/com/masai/Test/Test.java:
--------------------------------------------------------------------------------
1 | package com.masai.Test;
2 |
3 | public class Test {
4 |
5 | public static void main(String[] args) {
6 |
7 |
8 |
9 |
10 |
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/BasicCRUD/src/main/java/com/masai/Test/Test.java:
--------------------------------------------------------------------------------
1 | package com.masai.Test;
2 |
3 | public class Test {
4 |
5 | public static void main(String[] args) {
6 |
7 |
8 |
9 |
10 |
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/BasicCRUD/target/classes/META-INF/maven/com.masai/BasicCRUD/pom.properties:
--------------------------------------------------------------------------------
1 | #Generated by Maven Integration for Eclipse
2 | #Mon Apr 10 07:48:09 IST 2023
3 | m2e.projectLocation=C\:\\Users\\shubh\\OneDrive\\Desktop\\GitHub Repos\\JPQl\\BasicCRUD
4 | m2e.projectName=BasicCRUD
5 | groupId=com.masai
6 | artifactId=BasicCRUD
7 | version=0.0.1-SNAPSHOT
8 |
--------------------------------------------------------------------------------
/Basic/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
3 | org.eclipse.jdt.core.compiler.compliance=17
4 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
5 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
6 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
7 | org.eclipse.jdt.core.compiler.processAnnotations=disabled
8 | org.eclipse.jdt.core.compiler.release=disabled
9 | org.eclipse.jdt.core.compiler.source=17
10 |
--------------------------------------------------------------------------------
/BasicCRUD/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
3 | org.eclipse.jdt.core.compiler.compliance=17
4 | org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
5 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
6 | org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
7 | org.eclipse.jdt.core.compiler.processAnnotations=disabled
8 | org.eclipse.jdt.core.compiler.release=disabled
9 | org.eclipse.jdt.core.compiler.source=17
10 |
--------------------------------------------------------------------------------
/Basic/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | Basic
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/BasicCRUD/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | BasicCRUD
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.m2e.core.maven2Builder
15 |
16 |
17 |
18 |
19 |
20 | org.eclipse.jdt.core.javanature
21 | org.eclipse.m2e.core.maven2Nature
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Basic/src/main/java/com/masai/Dao/FMUtils.java:
--------------------------------------------------------------------------------
1 | package com.masai.Dao;
2 |
3 | import javax.persistence.EntityManager;
4 | import javax.persistence.EntityManagerFactory;
5 | import javax.persistence.Persistence;
6 |
7 | public class FMUtils {
8 |
9 |
10 | static final EntityManagerFactory emf;
11 |
12 | static {
13 |
14 | emf = Persistence.createEntityManagerFactory("st");
15 |
16 | }
17 |
18 | public static EntityManager getConnection() {
19 |
20 | return emf.createEntityManager();
21 |
22 | }
23 |
24 |
25 | // public static void main(String[] args) {
26 | //
27 | // System.out.println(FMUtils.getConnection());
28 | //
29 | // }
30 |
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/BasicCRUD/src/main/java/com/masai/Dao/FMUtils.java:
--------------------------------------------------------------------------------
1 | package com.masai.Dao;
2 |
3 | import javax.persistence.EntityManager;
4 | import javax.persistence.EntityManagerFactory;
5 | import javax.persistence.Persistence;
6 |
7 | public class FMUtils {
8 |
9 |
10 | static final EntityManagerFactory emf;
11 |
12 | static {
13 |
14 | emf = Persistence.createEntityManagerFactory("st");
15 |
16 | }
17 |
18 | public static EntityManager getConnection() {
19 |
20 | return emf.createEntityManager();
21 |
22 | }
23 |
24 |
25 | // public static void main(String[] args) {
26 | //
27 | // System.out.println(FMUtils.getConnection());
28 | //
29 | // }
30 |
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/Basic/src/main/resources/META-INF/persistence.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/BasicCRUD/src/main/resources/META-INF/persistence.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/BasicCRUD/target/classes/META-INF/persistence.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Basic/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 | com.masai
4 | BasicCRUD
5 | 0.0.1-SNAPSHOT
6 |
7 |
8 |
9 | 17
10 | 17
11 |
12 |
13 |
14 |
15 |
16 |
17 | org.hibernate
18 | hibernate-core
19 | 5.6.12.Final
20 |
21 |
22 |
23 |
24 | mysql
25 | mysql-connector-java
26 | 8.0.28
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/BasicCRUD/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 | com.masai
4 | BasicCRUD
5 | 0.0.1-SNAPSHOT
6 |
7 |
8 |
9 | 17
10 | 17
11 |
12 |
13 |
14 |
15 |
16 |
17 | org.hibernate
18 | hibernate-core
19 | 5.6.12.Final
20 |
21 |
22 |
23 |
24 | mysql
25 | mysql-connector-java
26 | 8.0.28
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/BasicCRUD/target/classes/META-INF/maven/com.masai/BasicCRUD/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 | com.masai
4 | BasicCRUD
5 | 0.0.1-SNAPSHOT
6 |
7 |
8 |
9 | 17
10 | 17
11 |
12 |
13 |
14 |
15 |
16 |
17 | org.hibernate
18 | hibernate-core
19 | 5.6.12.Final
20 |
21 |
22 |
23 |
24 | mysql
25 | mysql-connector-java
26 | 8.0.28
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Basic/src/main/java/com/masai/Model/Student.java:
--------------------------------------------------------------------------------
1 | package com.masai.Model;
2 | import javax.persistence.Column;
3 | import javax.persistence.Entity;
4 | import javax.persistence.GeneratedValue;
5 | import javax.persistence.GenerationType;
6 | import javax.persistence.Id;
7 | import javax.persistence.NamedQuery;
8 |
9 |
10 |
11 | @Entity
12 | //@Table(name = "student")
13 |
14 |
15 | @NamedQuery(name = "find st by id", query = "select st from Student st where st.stId = :num")
16 |
17 |
18 | public class Student {
19 |
20 | @Id
21 | @Column(name = "id")
22 | @GeneratedValue(strategy = GenerationType.IDENTITY)
23 | private int stId;
24 |
25 | @Column(name = "name")
26 | private String stname;
27 |
28 | private String city;
29 |
30 | private int marks;
31 |
32 | public Student() {
33 | // TODO Auto-generated constructor stub
34 | }
35 |
36 | public Student(int stId, String stname, String city, int marks) {
37 | super();
38 | this.stId = stId;
39 | this.stname = stname;
40 | this.city = city;
41 | this.marks = marks;
42 | }
43 |
44 | public int getStId() {
45 | return stId;
46 | }
47 |
48 | public void setStId(int stId) {
49 | this.stId = stId;
50 | }
51 |
52 | public String getStname() {
53 | return stname;
54 | }
55 |
56 | public void setStname(String stname) {
57 | this.stname = stname;
58 | }
59 |
60 | public String getCity() {
61 | return city;
62 | }
63 |
64 | public void setCity(String city) {
65 | this.city = city;
66 | }
67 |
68 | public int getMarks() {
69 | return marks;
70 | }
71 |
72 | public void setMarks(int marks) {
73 | this.marks = marks;
74 | }
75 |
76 | @Override
77 | public String toString() {
78 | return "Student Id : " + stId + "\nName : " + stname + "\nCity : " + city + "\nMarks : " + marks + "\n\n==\n\n";
79 | }
80 |
81 |
82 |
83 | }
84 |
--------------------------------------------------------------------------------
/BasicCRUD/src/main/java/com/masai/Model/Student.java:
--------------------------------------------------------------------------------
1 | package com.masai.Model;
2 | import javax.persistence.Column;
3 | import javax.persistence.Entity;
4 | import javax.persistence.GeneratedValue;
5 | import javax.persistence.GenerationType;
6 | import javax.persistence.Id;
7 | import javax.persistence.NamedQuery;
8 |
9 |
10 |
11 | @Entity
12 | //@Table(name = "student")
13 |
14 |
15 | @NamedQuery(name = "find st by id", query = "select st from Student st where st.stId = :num")
16 |
17 |
18 | public class Student {
19 |
20 | @Id
21 | @Column(name = "id")
22 | @GeneratedValue(strategy = GenerationType.IDENTITY)
23 | private int stId;
24 |
25 | @Column(name = "name")
26 | private String stname;
27 |
28 | private String city;
29 |
30 | private int marks;
31 |
32 | public Student() {
33 | // TODO Auto-generated constructor stub
34 | }
35 |
36 | public Student(int stId, String stname, String city, int marks) {
37 | super();
38 | this.stId = stId;
39 | this.stname = stname;
40 | this.city = city;
41 | this.marks = marks;
42 | }
43 |
44 | public int getStId() {
45 | return stId;
46 | }
47 |
48 | public void setStId(int stId) {
49 | this.stId = stId;
50 | }
51 |
52 | public String getStname() {
53 | return stname;
54 | }
55 |
56 | public void setStname(String stname) {
57 | this.stname = stname;
58 | }
59 |
60 | public String getCity() {
61 | return city;
62 | }
63 |
64 | public void setCity(String city) {
65 | this.city = city;
66 | }
67 |
68 | public int getMarks() {
69 | return marks;
70 | }
71 |
72 | public void setMarks(int marks) {
73 | this.marks = marks;
74 | }
75 |
76 | @Override
77 | public String toString() {
78 | return "Student Id : " + stId + "\nName : " + stname + "\nCity : " + city + "\nMarks : " + marks + "\n\n==\n\n";
79 | }
80 |
81 |
82 |
83 | }
84 |
--------------------------------------------------------------------------------
/Basic/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/BasicCRUD/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # JPQL Projects ✨🔍
2 |
3 | 
4 |
5 |
6 | ## BasicCRUD 📝✅
7 |
8 | The BasicCRUD project is designed to showcase the basic usage of JPQL (Java Persistence Query Language). It provides examples of how to perform CRUD (Create, Read, Update, Delete) operations using JPQL queries. Whether you're new to JPQL or looking for a refresher, this project is a great starting point. 🚀📚
9 |
10 | ## basic 📊📈
11 |
12 | The basic project dives deeper into the power of JPQL by demonstrating more advanced query techniques. It covers complex queries, joins, aggregations, and other useful features of JPQL. Whether you're a seasoned JPQL user or looking to enhance your skills, the basic project offers valuable insights. 💪💡
13 |
14 | Feel free to explore the projects and take a look at the code. We've made sure to use plenty of emojis throughout the repository to make your learning experience even more enjoyable! 😄🌟
15 |
16 | ## Getting Started 🚀🎉
17 |
18 | To get started with these projects, follow these steps:
19 |
20 | 1. Clone the repository: `git clone https://github.com/Shubh2-0/JPQl.git` 📥👥
21 | 2. Navigate to the project you want to explore: `cd BasicCRUD` or `cd basic` 📂🔍
22 | 3. Follow the project-specific instructions available in their respective README files. 📋🔧
23 |
24 | ## Contributing 🤝🌟
25 |
26 | I welcome contributions to these projects! If you'd like to contribute .✨👩💻👨💻
27 |
28 |
29 | ## 📬 Contact
30 |
31 | If you want to contact me, you can reach me through below handles.
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | Happy coding! ✨🎉😄
40 |
--------------------------------------------------------------------------------
/Basic/src/main/java/com/masai/Dao/StudentDaoImpl.java:
--------------------------------------------------------------------------------
1 | package com.masai.Dao;
2 | import java.util.ArrayList;
3 | import java.util.List;
4 |
5 | import javax.persistence.EntityManager;
6 | import javax.persistence.Query;
7 |
8 | import com.masai.Model.Student;
9 |
10 | public class StudentDaoImpl {
11 |
12 |
13 | public ArrayList getAllStudentName(){
14 |
15 | ArrayList l = new ArrayList<>();
16 | EntityManager em = FMUtils.getConnection();
17 |
18 | // SELECT NAME FROM STUDENT; -> NORMAL SQL QUERY
19 | // Select st.name from student st -> JPQL
20 | // WRITE ENTITY CLASS NAME IN JPQL QUERY
21 |
22 | Query q = em.createQuery("select st.stname from Student st");
23 |
24 | l = (ArrayList)q.getResultList();
25 |
26 |
27 | return l;
28 |
29 | }
30 |
31 | public ArrayList getAllStudent(){
32 | ArrayList l = new ArrayList<>();
33 | EntityManager em = FMUtils.getConnection();
34 |
35 | // SELECT * FROM STUDENT; -> NORMAL SQL QUERY
36 | // SELECT ST FROM STUDENT ST -> JPQL
37 | // INSTEAD OF * WE HAVE TO USE THE ALIAS NAME OF ENTITY CLASS
38 | Query q = em.createQuery("select st from Student st");
39 |
40 | l = (ArrayList) q.getResultList();
41 |
42 |
43 | return l;
44 |
45 |
46 | }
47 |
48 | public int getMaxMarks() {
49 |
50 | int max = 0;
51 | EntityManager em = FMUtils.getConnection();
52 | // AGGREGATE FUNCTION -> (MULTI-ROW-FUNCTION)
53 | // SO ON THE JPQL QUERY WE HAVE TO MENTION THE ALIAS CLASS FIELD NAME IN AGGREGATE FUNCTION
54 | // SELECT MAX(MARKS) FROM STUDENT -> NORMAL SQL QUERY
55 | Query q = em.createQuery("select max(st.marks) from Student st");
56 |
57 | max = (int) q.getSingleResult();
58 |
59 | return max;
60 |
61 | }
62 |
63 | public int getMinMarks() {
64 |
65 | int min = 0;
66 | EntityManager em = FMUtils.getConnection();
67 | // AGGREGATE FUNCTION -> (MULTI-ROW-FUNCTION)
68 | // SO ON THE JPQL QUERY WE HAVE TO MENTION THE ALIAS CLASS FIELD NAME IN AGGREGATE FUNCTION
69 | // SELECT MIN(MARKS) FROM STUDENT -> NORMAL SQL QUERY
70 | Query q = em.createQuery("select min(st.marks) from Student st");
71 |
72 | min = (int)q.getSingleResult();
73 |
74 | return min;
75 | }
76 |
77 |
78 | public int getCountStudent() {
79 |
80 | int h =0;
81 | Long c =0L;
82 | EntityManager em = FMUtils.getConnection();
83 | Query q = em.createQuery("select count(st) from Student st");
84 | c = (Long)q.getSingleResult();
85 |
86 | h += c;
87 |
88 | return h;
89 |
90 | }
91 |
92 | public List getAllStNameHaveRLetter(){
93 | List l = null;
94 | EntityManager em = FMUtils.getConnection();
95 | Query q = em.createQuery("select st.stname from Student st where st.stname like '%r%'");
96 |
97 | l = q.getResultList();
98 |
99 | return l;
100 |
101 |
102 | }
103 |
104 | public List getAllstByNativeSQl(){
105 |
106 | List l =null;
107 | EntityManager em = FMUtils.getConnection();
108 |
109 | /* HERE IS THE SYNTAX LIKE HOW CAN
110 | WE USE NATIVE QUERY (DATABASE SPECIFIC)
111 | IN JPQL SO FISRT WE
112 | HAVE TO WRITE ON FIRST PARAMETER \
113 | AND ON SECOND WE HAVE MENTION THE ENTITY CLASS
114 | FOR THAT TABLE THAT WE CREATED
115 | */
116 | Query q = em.createNativeQuery("select * from Student", Student.class);
117 |
118 | l = q.getResultList();
119 |
120 | return l;
121 |
122 | }
123 |
124 | public Student searchStudentById(int i) {
125 | Student st = null;
126 | EntityManager em = FMUtils.getConnection();
127 | Query q = em.createNamedQuery("find st by id");
128 | q.setParameter("num", i);
129 |
130 | st = (Student)q.getSingleResult();
131 |
132 | return st;
133 | }
134 |
135 |
136 | public static void main(String[] args) {
137 |
138 | StudentDaoImpl st = new StudentDaoImpl();
139 |
140 | ArrayList ans = st.getAllStudentName();
141 |
142 | ans.forEach(e -> System.out.println(e));
143 |
144 |
145 | ArrayList ans2;
146 | ans2 = st.getAllStudent();
147 |
148 | ans2.forEach(e -> System.out.println(e));
149 |
150 | List ans3 = st.getAllStNameHaveRLetter();
151 |
152 | ans3.forEach(e -> System.out.println(e));
153 |
154 | List ans4 = st.getAllstByNativeSQl();
155 |
156 | System.out.println("\n\n==========================NATIVE=====================\n");
157 |
158 | ans4.forEach(e -> System.out.println(e));
159 |
160 |
161 | System.out.println("MAX MARKS : "+st.getMaxMarks());
162 | System.out.println("MIN MARKS : "+st.getMinMarks());
163 | System.out.println("TOTAL STUDENT : "+st.getCountStudent());
164 |
165 | System.out.println("\n\n========================NAMED QUERY====================\n"+st.searchStudentById(3));
166 |
167 | }
168 |
169 | }
170 |
--------------------------------------------------------------------------------
/BasicCRUD/src/main/java/com/masai/Dao/StudentDaoImpl.java:
--------------------------------------------------------------------------------
1 | package com.masai.Dao;
2 | import java.util.ArrayList;
3 | import java.util.List;
4 |
5 | import javax.persistence.EntityManager;
6 | import javax.persistence.Query;
7 |
8 | import com.masai.Model.Student;
9 |
10 | public class StudentDaoImpl {
11 |
12 |
13 | public ArrayList getAllStudentName(){
14 |
15 | ArrayList l = new ArrayList<>();
16 | EntityManager em = FMUtils.getConnection();
17 |
18 | // SELECT NAME FROM STUDENT; -> NORMAL SQL QUERY
19 | // Select st.name from student st -> JPQL
20 | // WRITE ENTITY CLASS NAME IN JPQL QUERY
21 |
22 | Query q = em.createQuery("select st.stname from Student st");
23 |
24 | l = (ArrayList)q.getResultList();
25 |
26 |
27 | return l;
28 |
29 | }
30 |
31 | public ArrayList getAllStudent(){
32 | ArrayList l = new ArrayList<>();
33 | EntityManager em = FMUtils.getConnection();
34 |
35 | // SELECT * FROM STUDENT; -> NORMAL SQL QUERY
36 | // SELECT ST FROM STUDENT ST -> JPQL
37 | // INSTEAD OF * WE HAVE TO USE THE ALIAS NAME OF ENTITY CLASS
38 | Query q = em.createQuery("select st from Student st");
39 |
40 | l = (ArrayList) q.getResultList();
41 |
42 |
43 | return l;
44 |
45 |
46 | }
47 |
48 | public int getMaxMarks() {
49 |
50 | int max = 0;
51 | EntityManager em = FMUtils.getConnection();
52 | // AGGREGATE FUNCTION -> (MULTI-ROW-FUNCTION)
53 | // SO ON THE JPQL QUERY WE HAVE TO MENTION THE ALIAS CLASS FIELD NAME IN AGGREGATE FUNCTION
54 | // SELECT MAX(MARKS) FROM STUDENT -> NORMAL SQL QUERY
55 | Query q = em.createQuery("select max(st.marks) from Student st");
56 |
57 | max = (int) q.getSingleResult();
58 |
59 | return max;
60 |
61 | }
62 |
63 | public int getMinMarks() {
64 |
65 | int min = 0;
66 | EntityManager em = FMUtils.getConnection();
67 | // AGGREGATE FUNCTION -> (MULTI-ROW-FUNCTION)
68 | // SO ON THE JPQL QUERY WE HAVE TO MENTION THE ALIAS CLASS FIELD NAME IN AGGREGATE FUNCTION
69 | // SELECT MIN(MARKS) FROM STUDENT -> NORMAL SQL QUERY
70 | Query q = em.createQuery("select min(st.marks) from Student st");
71 |
72 | min = (int)q.getSingleResult();
73 |
74 | return min;
75 | }
76 |
77 |
78 | public int getCountStudent() {
79 |
80 | int h =0;
81 | Long c =0L;
82 | EntityManager em = FMUtils.getConnection();
83 | Query q = em.createQuery("select count(st) from Student st");
84 | c = (Long)q.getSingleResult();
85 |
86 | h += c;
87 |
88 | return h;
89 |
90 | }
91 |
92 | public List getAllStNameHaveRLetter(){
93 | List l = null;
94 | EntityManager em = FMUtils.getConnection();
95 | Query q = em.createQuery("select st.stname from Student st where st.stname like '%r%'");
96 |
97 | l = q.getResultList();
98 |
99 | return l;
100 |
101 |
102 | }
103 |
104 | public List getAllstByNativeSQl(){
105 |
106 | List l =null;
107 | EntityManager em = FMUtils.getConnection();
108 |
109 | /* HERE IS THE SYNTAX LIKE HOW CAN
110 | WE USE NATIVE QUERY (DATABASE SPECIFIC)
111 | IN JPQL SO FISRT WE
112 | HAVE TO WRITE ON FIRST PARAMETER \
113 | AND ON SECOND WE HAVE MENTION THE ENTITY CLASS
114 | FOR THAT TABLE THAT WE CREATED
115 | */
116 | Query q = em.createNativeQuery("select * from Student", Student.class);
117 |
118 | l = q.getResultList();
119 |
120 | return l;
121 |
122 | }
123 |
124 | public Student searchStudentById(int i) {
125 | Student st = null;
126 | EntityManager em = FMUtils.getConnection();
127 | Query q = em.createNamedQuery("find st by id");
128 | q.setParameter("num", i);
129 |
130 | st = (Student)q.getSingleResult();
131 |
132 | return st;
133 | }
134 |
135 |
136 | public static void main(String[] args) {
137 |
138 | StudentDaoImpl st = new StudentDaoImpl();
139 |
140 | ArrayList ans = st.getAllStudentName();
141 |
142 | ans.forEach(e -> System.out.println(e));
143 |
144 |
145 | ArrayList ans2;
146 | ans2 = st.getAllStudent();
147 |
148 | ans2.forEach(e -> System.out.println(e));
149 |
150 | List ans3 = st.getAllStNameHaveRLetter();
151 |
152 | ans3.forEach(e -> System.out.println(e));
153 |
154 | List ans4 = st.getAllstByNativeSQl();
155 |
156 | System.out.println("\n\n==========================NATIVE=====================\n");
157 |
158 | ans4.forEach(e -> System.out.println(e));
159 |
160 |
161 | System.out.println("MAX MARKS : "+st.getMaxMarks());
162 | System.out.println("MIN MARKS : "+st.getMinMarks());
163 | System.out.println("TOTAL STUDENT : "+st.getCountStudent());
164 |
165 | System.out.println("\n\n========================NAMED QUERY====================\n"+st.searchStudentById(3));
166 |
167 | }
168 |
169 | }
170 |
--------------------------------------------------------------------------------