Implementing Object DB aggregation queries using Java

To use Object DB for various aggregation queries in Java, it is necessary to first add the dependencies of Object DB, then establish a connection to the database, and write corresponding query code. Add Maven dependency for Object DB: <dependencies> <dependency> <groupId>com.objectdb</groupId> <artifactId>objectdb</artifactId> <version>2.8.1</version> </dependency> </dependencies> Establish database connection: EntityManagerFactory emf = Persistence.createEntityManagerFactory("objectdb://localhost/mydb.odb"); EntityManager em = emf.createEntityManager(); Here are some common examples of aggregation queries: 1. Total number of statistical records: Query query = em.createQuery("SELECT COUNT(*) FROM Entity"); Long count = (Long) query.getSingleResult(); System. out. println ("Total records:"+count); 2. Sum: Query query = em.createQuery("SELECT SUM(field) FROM Entity"); Double sum = (Double) query.getSingleResult(); System. out. println ("Total of fields:"+sum); 3. Take the maximum value: Query query = em.createQuery("SELECT MAX(field) FROM Entity"); Double max = (Double) query.getSingleResult(); System. out. println ("Maximum value of field:"+max); 4. Take the minimum value: Query query = em.createQuery("SELECT MIN(field) FROM Entity"); Double min = (Double) query.getSingleResult(); System. out. println ("Minimum value of field:"+min); 5. Calculate the average value: Query query = em.createQuery("SELECT AVG(field) FROM Entity"); Double avg = (Double) query.getSingleResult(); System. out. println ("Average value of fields:"+avg); 6. Group statistics: Query query = em.createQuery("SELECT field, COUNT(*) FROM Entity GROUP BY field"); List<Object[]> results = query.getResultList(); for (Object[] result : results) { String fieldValue = (String) result[0]; Long count = (Long) result[1]; System. out. println ("Field:"+fieldValue+", Quantity:"+count); } Note: In these examples, 'Entity' is the name of the entity class in the database, and 'field' is a field in the entity class. Complete code example: import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query; import java.util.List; public class AggregationQueryExample { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("objectdb://localhost/mydb.odb"); EntityManager em = emf.createEntityManager(); //Total number of statistical records Query query1 = em.createQuery("SELECT COUNT(*) FROM Entity"); Long count = (Long) query1.getSingleResult(); System. out. println ("Total records:"+count); //Summation Query query2 = em.createQuery("SELECT SUM(field) FROM Entity"); Double sum = (Double) query2.getSingleResult(); System. out. println ("Total of fields:"+sum); //Take the maximum value Query query3 = em.createQuery("SELECT MAX(field) FROM Entity"); Double max = (Double) query3.getSingleResult(); System. out. println ("Maximum value of field:"+max); //Take the minimum value Query query4 = em.createQuery("SELECT MIN(field) FROM Entity"); Double min = (Double) query4.getSingleResult(); System. out. println ("Minimum value of field:"+min); //Calculate Average Query query5 = em.createQuery("SELECT AVG(field) FROM Entity"); Double avg = (Double) query5.getSingleResult(); System. out. println ("Average value of fields:"+avg); //Group statistics Query query6 = em.createQuery("SELECT field, COUNT(*) FROM Entity GROUP BY field"); List<Object[]> results = query6.getResultList(); for (Object[] result : results) { String fieldValue = (String) result[0]; Long groupCount = (Long) result[1]; System. out. println ("Field:"+fieldValue+", Quantity:"+groupCount); } em.close(); emf.close(); } } Please modify the sample code based on your own database and entity classes.