Pages

Java hibernate select query example

A mysql table named servers contains server records. With the following java and xml files, all server are listed. In eclipse, hibernate.cfg.xml, hibernate.hbm.xml and com.test.Server java files can be produced easily.

This is hibernate config xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>

 <session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">pass</property>
<property name="hibernate.connection.url">jdbc:mysql://dbserver:3306/dbname</property>
<property name="hibernate.connection.username">user</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="hibernate.hbm.xml" />
</session-factory>
</hibernate-configuration>

This is hibernate mapping xml
<hibernate-mapping>
<class name="com.test.Server" table="servers">
<id column="server_name" name="serverName" type="java.lang.String"/>
<property column="operating_system" generated="never" lazy="false" name="operatingSystem" type="java.lang.String"/>
<property column="kernel_version" generated="never" lazy="false" name="kernelVersion" type="java.lang.String"/>
<property column="cpu_architecture" generated="never" lazy="false" name="cpuArchitecture" type="java.lang.String"/>
<property column="modification_date" generated="never" lazy="false" name="modificationDate" type="java.lang.String"/>
<property column="ip_addr" generated="never" lazy="false" name="ipAddress" type="java.lang.String"/>
</class>
</hibernate-mapping>


This is com.test.Server
public class Server {
private String serverName;
private String operatingSystem;
private String kernelVersion;
private String cpuArchitecture;
private String modificationDate;
private String ipAddress;

public String getServerName() {
 return serverName;
}
public void setServerName(String serverName) {
 this.serverName = serverName;
}
public String getOperatingSystem() {
 return operatingSystem;
}
public void setOperatingSystem(String operatingSystem) {
 this.operatingSystem = operatingSystem;
}
public String getKernelVersion() {
 return kernelVersion;
}
public void setKernelVersion(String kernelVersion) {
 this.kernelVersion = kernelVersion;
}
public String getCpuArchitecture() {
 return cpuArchitecture;
}
public void setCpuArchitecture(String cpuArchitecture) {
 this.cpuArchitecture = cpuArchitecture;
}
public String getModificationDate() {
 return modificationDate;
}
public void setModificationDate(String modificationDate) {
 this.modificationDate = modificationDate;
}
public String getIpAddress() {
 return ipAddress;
}
public void setIpAddress(String ipAddress) {
 this.ipAddress = ipAddress;
}
}

This is java code
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="java.util.*" %>
<%@ page import="org.hibernate.HibernateException" %>
<%@ page import="org.hibernate.Session" %>
<%@ page import="org.hibernate.SessionFactory" %>
<%@ page import="org.hibernate.Transaction" %>
<%@ page import="org.hibernate.cfg.Configuration" %>
<%@ page import="org.hibernate.*" %>
<%@ page import="com.test.Server" %>
<%
Session sess = null;
try {
SessionFactory sessionFact = new Configuration().configure().buildSessionFactory();
sess = sessionFact.openSession();
sess.beginTransaction();  
Query qServers = sess.createQuery("from Server");  
List allServers = qServers.list(); 
for (int i = 0; i < allServers.size(); i++) {
    Server oneServer = (Server) allServers.get(i);
%>
   <%=oneServer.getServerName().toString() %>
   <%=oneServer.getIpAddress().toString() %>
     <%=oneServer.getOperatingSystem().toString() %>
     <%=oneServer.getKernelVersion().toString() %>
     <%=oneServer.getCpuArchitecture().toString() %>
<%
   }
} catch(Exception e) {
out.println(e.getMessage());
} finally {
sess.flush();
sess.close();
}
%>

No comments:

Post a Comment