Requirement Constraints

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Tuesday, 29 May 2012

List Item Connected with Hibernate and Search Parameter

Posted on 10:22 by Unknown

 Summary

This example contains one list box with First name and Last Name as search Field. If the user do not give any values for first name and last name, then clicking Go Button will list all the records from the DB.
If the user enters either first name or last name or both, then using like operator, it will retrieve accordingly.

Environment

  1. Eclipse 3.7 Indigo IDE
  2. Hibernate 4.1.1
  3. JavaSE 1.6
  4. MySQL 5.1
image

Step 1:

Set up ZK Project with Hibernate. Follow this post for more information.

Step 2:

Create the Following table in mysql
image

Step 3:

Let us create the Java Bean for the above Table
image
Here is the Code
package myDomain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "person")
public class Person
{

private int ID;
private String FirstName;
private String LastName;
private String Email;

@Id
@GeneratedValue
public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}

@Column(name = "FirstName")
public String getFirstName() {
return FirstName;
}
public void setFirstName(String firstName) {
FirstName = firstName;
}

@Column(name = "LastName")
public String getLastName() {
return LastName;
}
public void setLastName(String lastName) {
LastName = lastName;
}

@Column(name = "Email")
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email;
}


}



Step 4:


Go Back to hibernate.cfg.xml and add the above class as follows

<!-- Mapping Classes -->
    <mapping class="myDomain.Person" />


Step 5:



Demo. Zul File


image

<?page title="Person List" contentType="text/html;charset=UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?>
<zk>
<window id='myWin' title="Person List" border="normal"
apply="myUI.DemoComposer">
<groupbox height="40px">
<label value="First Name" />
<space />
<space />
<textbox id="FirstName" cols="50" />
<label value="Last Name" />
<space />
<space />
<textbox id="LastName" cols="50" />
<button id="gobutton" label="Go" />
<space spacing="20px" />
<space spacing="20px" />
</groupbox>
<separator />
<listbox id="PersonList" >
<listhead sizable=" true ">
<listheader label="First Name" sort="auto" />
<listheader label="Last Name" sort="auto" />
<listheader label="Email" sort="auto" />
</listhead>
<listitem self="@{each=person}">
<listcell label="@{person.firstName}" />
<listcell label="@{person.LastName}" />
<listcell label="@{person.Email}" />
</listitem>
</listbox>
</window>
</zk>



Step 6:


DemoComposer.Java

image

package myUI;

import java.util.ArrayList;
import java.util.List;


import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.ListModel;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Textbox;
import myDomain.Person;
import myDomain.PersonDAO;

public class DemoComposer extends GenericForwardComposer {

private List<Person> persons = new ArrayList<Person>();
private Textbox FirstName;
private Textbox LastName;
private Listbox PersonList;
private PersonDAO p1DAO;

@SuppressWarnings("unchecked")
public void onClick$gobutton(Event event)
{

p1DAO = new PersonDAO();

p1DAO.setFirstName(FirstName.getValue());
p1DAO.setLastName(LastName.getValue());

persons = p1DAO.getAllPersons();
PersonList.getItems().clear();
PersonList.setModel(new ListModelList(persons));

}

public List<Person> getPersons() {
return persons;
}


}




Step 7:


PersonDAO. Java

image

Code

package myDomain;

import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.Query;
import org.zkoss.zul.Messagebox;

import HibernateUtilities.HibernateUtil;

public class PersonDAO {

private String firstName;
private String lastName;

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

@SuppressWarnings("unchecked")
public List<Person> getAllPersons() {

List<Person> allrecords = null;
Transaction trns = null;
Session session = HibernateUtil.getSessionFactory().openSession();
try {
trns = session.beginTransaction();

if ((firstName == null || "".equals(firstName))
&& (lastName == null || "".equals(lastName))) {
Query q1 = session.createQuery("from Person ");
allrecords = q1.list();
}

if ((firstName != null && !firstName.equals(""))
&& (lastName == null || "".equals(lastName))) {
Query q1 = session.createQuery("from Person where firstname like :value ");
q1.setString("value", firstName +"%");
allrecords = q1.list();
}

if ((lastName != null && !lastName.equals(""))
&& (firstName == null || "".equals(firstName))) {
Query q1 = session.createQuery("from Person where lastname like :value ");
q1.setString("value", lastName +"%");
allrecords = q1.list();
}
if ((firstName != null && !firstName.equals(""))
&& (lastName != null && !lastName.equals(""))) {

Query q1 = session.createQuery("from Person where firstname like :value1 or lastname like :value2 ");
q1.setString("value1", firstName +"%");
q1.setString("value2", lastName +"%");
allrecords = q1.list();
}

session.getTransaction().commit();

} catch (RuntimeException e) {
if (trns != null) {
trns.rollback();
}
e.printStackTrace();
} finally {
session.flush();
session.close();
}
return allrecords;
}
}


 


Step 7:


Run the Demo.ZUL File
Email ThisBlogThis!Share to XShare to Facebook
Posted in ZK MVC CRUD Examples | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • ZK Example for inline Editing with Add New and Delete
    I am quite impressed on this demo from ZK . But adding new record and delete existing record is missing as part of typical CRUD. So i thoug...
  • EDI 5010 Documentation 837 Professional - Loop 2010BB Payer Name
    2010BB Payer Name          In this loop, all the information will be taken from Insurance master screen. Take a look of our sample screen...
  • EDI 5010 Documentation–837 - BHT - Beginning of Hierarchical Transaction
    BHT – Beginning of Hierarchical Transaction Loop Seg ID Segment Name Format Length Ref# Req Value   BHT Beginning of Hier...
  • Hibernate Validator Example 2
    In this example, we will see some more validation constraints such as @email, @past, @length, etc. And also we will also define custom error...
  • ZK Passing Parameter between two files using MVVM–Part 1
    Overview This is the first series of articles about Passing parameter between two zul files using MVVM Design pattern .This article will fo...
  • MVVM Command annotation and Notify change example
    Here is an example, how to pass parameter on a zul through MVVM Command binding annotation. ZK URL http://books.zkoss.org/wiki/ZK%20Develo...
  • History of Present Illness
    HPI - One of the main component of Clinical History. What is an HPI ? The history of present illness (HPI) is a chronological description...
  • Patient Demographics
    Patient browse (search) is the key element for any EMR / PMS Software. In my past 15 years experience, i involved more than 5 times in desig...
  • ViewModel Class Java Annotation @Init, @NotifyChange, @Command
    In following sections we'll list all syntaxes that can be used in implementing a ViewModel and applying ZK bind annotation. The ZK binde...
  • Good Website Design Links
    Form Design Label Placement in Forms International Address Fields in Web Forms 40 Eye-Catching Registration Pages blog-comment-form-...

Categories

  • Billing Process
  • C Workbook
  • C++ Workbook
  • Eclipse Tips
  • EDI 5010
  • EMR Appointment Features
  • EMR Labs Stuff
  • EMR PMS Links
  • EMR Use cases
  • EMR Vital Sign
  • Good Website Design
  • Hibernate Criteria Queries
  • Hibernate Introduction
  • Hibernate Introduction Setup
  • Hibernate Mapping
  • Hibernate POC
  • Hibernate Validator
  • Hibernate–Java Environment setup
  • HPI
  • Java
  • Maven
  • MU Certification
  • NPI
  • PQRS
  • Practice Management System
  • Spring Security
  • Tech Links
  • Today Tech Stuff
  • zk
  • ZK Hibernate
  • ZK 5 Databinding
  • ZK Application
  • ZK Calling Another ZUL
  • ZK CheckBox
  • ZK CreateComponents
  • ZK CSS
  • ZK extended Components
  • ZK Foreach
  • ZK Forum Posts
  • ZK Framework
  • ZK Hibernate Setup
  • ZK ID Space
  • ZK Include
  • ZK Installation
  • ZK iReport
  • ZK Layout
  • ZK Listitem Pagination
  • ZK Message Box
  • ZK MVC
  • ZK MVC Combox Box
  • ZK MVC CRUD Examples
  • ZK MVC Listbox
  • ZK MVVM
  • ZK MVVM Combo
  • ZK MVVM CRUD
  • ZK MVVM ListBox
  • ZK Spring
  • ZK TextBox

Blog Archive

  • ►  2013 (105)
    • ►  December (3)
    • ►  September (7)
    • ►  August (13)
    • ►  July (1)
    • ►  June (11)
    • ►  May (3)
    • ►  April (14)
    • ►  March (19)
    • ►  February (21)
    • ►  January (13)
  • ▼  2012 (177)
    • ►  December (1)
    • ►  November (13)
    • ►  October (19)
    • ►  September (24)
    • ►  August (26)
    • ►  July (6)
    • ►  June (37)
    • ▼  May (30)
      • Input Form Validation window
      • ZK Executions.createComponents
      • List Item Connected with Hibernate and Search Para...
      • ZK Hibernate Setup
      • Window Title Change Color
      • List item Data Binding
      • ZK Data Binding
      • Message Box Customization
      • MVC CRUD Application–Filter records in the list ba...
      • ZK Check Event Handling Using MVC
      • MVC CRUD Application with Auto filter for List item
      • Text Box on change and on Changing Event
      • Hibernate Criteria Queries
      • MVC CRUD Application
      • Hibernate Query uniqueResult Method
      • Hibernate retrieve the first record always when we...
      • Hibernate Introduction Part 4
      • ZK Data Binding Part 1
      • Simple Sightseeing Application Part 2
      • Window CSS
      • ZK Simple Sightseeing Application Part 1
      • Button CSS
      • Group Box with Collapse and Expand Button in the R...
      • Tuning Eclipse Performance and Avoiding OutOfMemor...
      • Listitem Mold Paging - Add components in the pagin...
      • ZK Calling Another ZUL File
      • ZK Installation Guide
      • List Box CSS
      • Eclipse Tips and Tricks
      • Hibernate Introduction Part 3
    • ►  April (16)
    • ►  March (1)
    • ►  January (4)
  • ►  2011 (5)
    • ►  December (1)
    • ►  November (1)
    • ►  July (1)
    • ►  June (1)
    • ►  April (1)
  • ►  2010 (1)
    • ►  September (1)
Powered by Blogger.

About Me

Unknown
View my complete profile