==========
hibernate3.jar
antlr-2.7.6.jar
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
hibernate3.jar
jstl.jar
jta.jar
log4j-1.2.11.jar
mysql-connector-java-3.0.9-stable-bin.jar
spring.jar
standard.jar
spring.tld
1. Configure Web Xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Test</display-name>
<description>Spring Base Application</description>
<context-param>
<param-name>contextConfigLocations</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>
index.html
</welcome-file>
</welcome-file-list>
</web-app>
2.Configure Spring-Servlet XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="order" value="1"/>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>
<bean name="/userLogin.htm" class="web.controllers.UserLoginController">
<property name="managerService" ref="managerService"/>
</bean>
<bean id="saveUserValidator" class="web.validators.SaveUserValidator"/>
<bean id="addUserController" class="web.controllers.AddUserController">
<property name="sessionForm" value="false"/>
<property name="bindOnNewForm" value="false"/>
<property name="commandName" value="user"/>
<property name="commandClass" value="domain.User"/>
<property name="validator" ref="saveUserValidator"/>
<property name="formView" value="AddUser"/>
<property name="managerService" ref="managerService"/>
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages"/>
</bean>
<bean id="signonInterceptor" class="web.controllers.SignonInterceptor"/>
<bean id="exceptionResolver"
class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop
key="org.springframework.dao.DataIntegrityViolationException">dberror</prop>
<prop key="org.hibernate.HibernateException">dberror</prop>
<prop key="java.lang.RuntimeException">dberror</prop>
<prop key="org.apache.jasper.JasperException">dberror</prop>
<prop key="javax.servlet.ServletException">dberror</prop>
</props>
</property>
</bean>
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="order" value="2"/>
<property name="interceptors">
<list>
<ref bean="signonInterceptor"/>
</list>
</property>
<property name="mappings">
<props>
<prop key="/AddUser.htm">addUserController</prop>
</props>
</property>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basename" value="views"/>
</bean>
</beans>
3.Configure AppicationContext XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- ========================= GENERAL DEFINITIONS ========================= -->
<!-- Transactional proxy for the primary business objects -->
<bean id="managerService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref local="managerServiceTarget"/>
</property>
<property name="proxyTargetClass" value="false"/>
<property name="proxyInterfaces">
<list>
<value>service.ManagerService</value>
</list>
</property>
</bean>
<!-- DAO -->
<bean id="userDao" class="dao.hibernate.UserDaoHibernateImpl"/>
<!-- Business Objects -->
<bean id="managerServiceTarget" class="service.ManagerServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
</beans>
4. Hibernate Configuration
<?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="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="connection.datasource">java:PostgresDS</property>
<!--<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>-->
<!--<property name="connection.url">jdbc:oracle:thin:@serverip:port:sid</property>-->
<!--<property name="connection.username">xxxx</property>-->
<!--<property name="connection.password">xxxx</property>-->
<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">300</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<!-- print SQL to stdout -->
<property name="show_sql">false</property>
<property name="format_sql">false</property>
<mapping resource="domain/user.hbm.xml"/>
</session-factory>
</hibernate-configuration>
5.AddUser.jsp
<%@ taglib prefix="spring" uri="spring.tld" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><link rel="stylesheet" href="pop_style.css"></link>
<title>Welcome to Clinic Portal</title>
<style type="text/css">
</style>
<link href="eHosStoreStyles.css" rel="stylesheet" type="text/css">
</head>
<body onload="document.my.username.focus();" onkeydown="" leftmargin="0"
topmargin="0" rightmargin="0" bottommargin="0" class="optionsTop">
<table width="100%" height="0" border="0" style="border-collapse: collapse"
cellpadding="0" cellspacing="0">
<tr>
<td width="1%" height="30" align="left" background="Images/titleMiddle.gif"
class="titles">
<img src="Images/titleCorner.gif" width="30" height="30" border="0"></td>
<td valign="middle" background="Images/titleMiddle.gif" class="titles">
<p style="margin-right:10">
<strong><font face="Times New Roman, Times, serif" color="#000099">Add
User</font></strong></p></td>
</tr>
<br>
<form name="my" id="my" method="post" >
<table border="0" width="59%" height="100" align="center" class="bodyTable">
<tr>
<td height="10" valign="top"> <div align="center">
<spring:hasBindErrors name="user"><font color="red">
<b><fmt:message key="addUser.error.heading"/></b></font>
</spring:hasBindErrors>
<br>
</div>
</td>
</tr>
<tr>
<td class="rowgrey">
<spring:bind path="user.username">User Name
:</td>
<td width="477" align="left" class="rowgrey"><input size="40" type="text"
value="${status.value}" name="username" >
<font color="red">${status.errorMessage}</font>
</spring:bind>
</td>
</tr>
<tr>
<td class="rowgrey"><spring:bind path="user.firstName">First Name
:</td>
<td width="477" align="left" class="rowgrey"><input size="40" type="text"
value="${status.value}" name="firstName" >
<font color="red">${status.errorMessage}</font>
</spring:bind>
</td>
</tr>
<tr>
<td class="rowgrey"><spring:bind path="user.lastName">Last Name
:</td>
<td width="477" align="left" class="rowgrey"><input size="40" type="text"
value="${status.value}" name="lastName" >
<font color="red">${status.errorMessage}</font>
</spring:bind>
</td>
</tr>
<tr>
<td class="rowgrey"><spring:bind path="user.userpwd">Password
:</td><td width="477" align="left" class="rowgrey">
<input type="password" value="${status.value}" size="40" id="userpwd"
name="userpwd" >
<font color="red">${status.errorMessage}</font>
</spring:bind> </td>
</tr>
<tr>
<td class="rowgrey"><spring:bind path="user.userpwd">Confirm
Password
:</td><td width="477" align="left" class="rowgrey">
<input type="password" value="${status.value}" id="pwd" size="40" name="pwd" >
<font color="red">${status.errorMessage}</font>
</spring:bind> </td>
</tr>
<tr>
<td class="rowgrey"><spring:bind path="user.usertype"> User
Type
:</td>
<td width="477" align="left" class="rowgrey">
<select name="usertype" >
<option value="A">Administrator</option>
<option value="U">User</option>
</select>
<font color="red">${status.errorMessage}</font>
</spring:bind> </td>
</tr>
<tr>
<td
class="rowgrey">
</td>
<td width="477" align="left" class="rowgrey">
<input type="submit" id="submit" name="submit" class="buttons" value="Add User">
</td>
</tr>
</table>
</form>
<p><b> </b></p>
</body>
<script type="text/javascript" language="JavaScript1.2"
src="pop_events.js"></script>
</html>
6.Configure views.properties file
Home.class=org.springframework.web.servlet.view.JstlView
Home.url=/WEB-INF/jsp/home.jsp
AddUser.class=org.springframework.web.servlet.view.JstlView
AddUser.url=/WEB-INF/jsp/AddUser.jsp
7.configure messages.properties File
addUser.title=Add User page
addUser.error.heading=Please fix all the errors!
addUser.error.username.missing=The User Name field is missing
addUser.error.userpwd.missing=The password field is missing
addUser.error.usertype.missing=The Usertype is missing
8.DAO Class
package dao.hibernate;
import java.util.List;
import java.util.ArrayList;
import org.apache.log4j.Logger;
import org.apache.log4j.Level;
import org.hibernate.*;
import org.hibernate.criterion.Restrictions;
import org.hibernate.criterion.Expression;
import domain.User;
import dao.UserDao;
public class UserDaoHibernateImpl implements UserDao
{
public void saveUser(User user)throws HibernateException {
Session session = null;
Transaction tx = null;
try {
// Open a new session or get the current session
session = SessionProvider.currentSession();
// Begin the transaction
tx = session.beginTransaction();
session.saveOrUpdate(user);
//SessionProvider.closeSession();
// Commit the transaction
tx.commit();
SessionProvider.closeSession();
tx = null;
} catch( HibernateException e ) {
try{
tx.rollback();
} catch (HibernateException cannotRollback) {
// log this error
}
throw e;
//e.printStackTrace();
} finally {
// Close the session
if (session != null) SessionProvider.closeSession();
}
}
public void updateUser(User user1)throws HibernateException {
Session session = null;
Transaction tx = null;
try {
// Open a new session or get the current session
session = SessionProvider.currentSession();
// Begin the transaction
tx = session.beginTransaction();
User loaduser = (User) session.load(User.class, user1.getUserId(),
LockMode.UPGRADE);
loaduser.setUserId( user1.getUserId() );
loaduser.setStatus(user1.getStatus());
//loaduser.setUsername();
loaduser.setUserpwd(user1.getUserpwd());
loaduser.setUsertype(user1.getUsertype());
loaduser.setFirstName(user1.getFirstName());
loaduser.setLastName(user1.getLastName());
session.update(loaduser);
tx.commit();
SessionProvider.closeSession();
// Commit the transaction
tx = null;
} catch( HibernateException e ) {
try{
tx.rollback();
} catch (HibernateException cannotRollback) {
// log this error
}
throw e;
// e.printStackTrace();
} finally {
if (session != null) SessionProvider.closeSession();
}
}
public User getUser(String userName) throws HibernateException {
// Open a new session or get the current session
Session session = SessionProvider.currentSession();
User loaduser = new User();
try{
//loaduser = (user) session.get(user.class, userName);
Criteria crit = session.createCriteria(User.class);
crit.add(Restrictions.eq("username",userName));
crit.setMaxResults(1);
loaduser=(User) crit.uniqueResult();
} catch(HibernateException unexpected){
throw unexpected;
} finally{
if (session != null) SessionProvider.closeSession();
}
return loaduser;
}
public List getAllUser() throws HibernateException {
// Open a new session or get the current session
Session session = SessionProvider.currentSession();
List results =new ArrayList();
try{
Criteria crit = session.createCriteria(User.class);
results=crit.list();
} catch(HibernateException unexpected){
throw unexpected;
} finally{
if (session != null) SessionProvider.closeSession();
}
return results;
}
public void deleteUser(int jobid) throws HibernateException {
Session session = SessionProvider.currentSession();
try{
Transaction tx = session.beginTransaction();
User mm = loaduser(jobid);
session.delete( mm );
tx.commit();
}catch (Exception e){
e.printStackTrace();
}finally{
if (session != null) SessionProvider.closeSession();
}
}
public User loaduser( int id )throws HibernateException {
Session session = SessionProvider.currentSession();
User loaduser=new User();
try{
loaduser= (User) session.load(User.class, id );
}catch (Exception e){
e.printStackTrace();
}finally{
if (session != null) SessionProvider.closeSession();
}
return loaduser;
}
public List searchUser(String userName){
Session session = SessionProvider.currentSession();
List results = null;
try{
Criteria crit = session.createCriteria(User.class);
crit.add(Expression.like( "username","%"+userName.toUpperCase()+"%" ) );
results=crit.list();
} catch(HibernateException unexpected){
throw unexpected;
} finally{
if (session != null) SessionProvider.closeSession();
}
return results;
}
}
9. SessionProvider.class
package dao.hibernate;
import org.hibernate.cfg.Configuration;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.FlushMode;
import org.hibernate.HibernateException;
public class SessionProvider
{
private static final SessionFactory sessionFactory;
public static final ThreadLocal session = new ThreadLocal();
private static int dbSessionCount;
static
{
try
{
sessionFactory = new
Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
}
catch (HibernateException ex)
{
ex.printStackTrace();
throw new RuntimeException("Exception building SessionFactory: " +
ex.getMessage(), ex);
}
}
public static Session currentSession() throws HibernateException
{
Session s = (Session) session.get();
//System.out.println("--------------CurrentSession------------"+dbSessionCount);
if (s == null)
{
dbSessionCount++;
s = sessionFactory.openSession();
System.out.println("--------------OpenSession------------"+dbSessionCount);
s.setFlushMode(FlushMode.COMMIT);
session.set(s);
}
return s;
}
public static void closeSession() throws HibernateException
{
Session s = (Session) session.get();
session.set(null);
if (s != null)
{
dbSessionCount--;
s.close();
System.out.println("--------------ClosedSession------------"+dbSessionCount);
}
}
}
10.ManagerServiceImpl.java
/*
* JStockManager Project
*/
package service;
import java.util.List;
//
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//
//
import dao.*;
import domain.*;
public class ManagerServiceImpl implements ManagerService {
private Log logger = LogFactory.getLog(this.getClass());
private UserDao userDao;
public void setUserDao(UserDao UserDao) {
this.userDao = UserDao;
}
// insert
-----------------------------------------------------------------------------------------------
public void saveUser(User user) throws Exception {
this.logger.info("entering method saveUser");
try {
userDao.saveUser(user);
} catch (Exception e) {
String msg = "Could not saveUser " + e.toString();
this.logger.error(msg, e);
throw e;
}
}
// update
-----------------------------------------------------------------------------------------------
public void updateUser(User user) throws Exception {
this.logger.info("entering method updateUser");
try {
this.userDao.updateUser(user);
} catch (Exception e) {
String msg = "Could not updateUser";
this.logger.error(msg, e);
throw e;
}
}
// delete
-----------------------------------------------------------------------------------------------
public void deleteUser(int userid) {
this.logger.info("entering method deleteUser");
try {
this.userDao.deleteUser(userid);
} catch (Exception e) {
String msg = "Could not deleteUser";
this.logger.error(msg, e);
}
}
// get
-----------------------------------------------------------------------------------------
public User getUser(String userName) {
this.logger.info("entering method getUser");
try {
return this.userDao.getUser(userName);
} catch (Exception e) {
String msg = "Could not getUser for id of " + userName;
this.logger.error(msg, e);
return null;
}
}
// get
all----------------------------------------------------------------------------------
public List getAllUser() {
this.logger.info("entering method getAllUser");
try {
return this.userDao.getAllUser();
} catch (Exception e) {
String msg = "Could not getAllUser products";
this.logger.error(msg, e);
return null;
}
}
//search-----------------------------------------------------------------------
public List searchUser(String userName){
this.logger.info("entering method searchUser");
try {
return this.userDao.searchUser(userName);
} catch (Exception e) {
String msg = "Could not searchSuplier products";
this.logger.error(msg, e);
return null;
}
}
//-----------------------------------------------------------
}
11.SaveUserValidator.java
package web.validators;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
import domain.User;
public class SaveUserValidator implements Validator
{
public boolean supports(Class checkMe)
{
return checkMe.equals(User.class);
}
public void validate(Object object, Errors errors)
{
User user1 = (User) object;
if (user1 == null)
{
errors.rejectValue("user", "SaveUser.error.novalue",
"Value required.");
}
String name= "";
String pwd = "";
String type="";
String firstName="";
String lastName="";
if(user1!=null){
name= user1.getUsername();
pwd = user1.getUserpwd();
type=user1.getUserType();
firstName=user1.getFirstName();
lastName=user1.getLastName();
}
if ((name == null) || (name.length() < 1))
{
errors.rejectValue("username", "SaveUser.error.name.missing",
"name is missing.");
}
if ((firstName == null) || (firstName.length() < 1))
{
errors.rejectValue("firstName", "SaveUser.error.name.missing",
"first Name is missing.");
}
if ((lastName == null) || (lastName.length() < 1))
{
errors.rejectValue("lastName", "SaveUser.error.name.missing",
"last Name is missing.");
}
if ((pwd == null) || (pwd.length() < 1))
{
errors.rejectValue("userpwd", "SaveUser.error.name.missing",
"pwd is missing.");
}
if ((type== null) || (type.length() < 1))
{
errors.rejectValue("usertype", "SaveUser.error.name.missing",
"type is missing.");
}
}
}
12.AddUserController.java
package web.controllers;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import service.ManagerService;
import domain.User;
public class AddUserController extends SimpleFormController
{
private ManagerService ManagerService;
private String name;
private String ip;
private String serverMsg="";
public void setManagerService(ManagerService ManagerService) {
this.ManagerService = ManagerService;
}
public ModelAndView onSubmit(Object object) {
try{
User user1 = (User)object;
user1.setStatus(1);
user1.setUserpwd(user1.getUserpwd());
ManagerService.saveUser(user1);
}
catch(Exception e)
{
e.printStackTrace();
serverMsg=e.getCause().getMessage();
}
return new ModelAndView("Home");
}
protected Map referenceData(HttpServletRequest request)
throws ServletException
{
Map refData = new HashMap();
try{
UserSession user = (UserSession)
request.getSession(true).getAttribute("userSession");
name = user.getName();
ip = user.getIp();
}
catch(Exception e)
{
e.printStackTrace();
}
return refData;
}
}
13.SignonInterceptor.java
package web.controllers;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import org.springframework.web.util.WebUtils;
public class SignonInterceptor extends HandlerInterceptorAdapter {
public boolean preHandle(HttpServletRequest request, HttpServletResponse
response, Object handler)
throws Exception {
UserSession userSession = (UserSession) WebUtils.getSessionAttribute(request, "userSession");
if (userSession == null) {
request.setAttribute("exception","User has LogOut Please Login!");
response.sendRedirect("errorPage.jsp");
return false;
}
else {
return true;
}
}
}
14.UserLoginController.java
package web.controllers;
import domain.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.log4j.Level;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import service.ManagerService;
import Utility.Constants;
public class UserLoginController
implements Controller {
private ManagerService ManagerService;
Logger logger;
public UserLoginController() {
}
public void setManagerService(ManagerService managerService) {
this.ManagerService = managerService;
logger = Logger.getLogger("web/controllers/UserLoginController");
logger.setLevel(Level.ALL);
}
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String username = "gayan";
String password = "123";
String utype = "A";
int state = 0;
String name = "";
String place = "";
String type_ = "";
String dbPassword = "";
String ip = request.getRemoteAddr().trim();
System.out.println("---------------Attempt to login---------" + utype);
UserSession userSession = new UserSession();
userSession.setName(name);
userSession.setPlace(place);
userSession.setType_(type_);
userSession.setIp(ip);
userSession.setPwd(dbPassword);
request.getSession(true).setAttribute("userSession", userSession);
// ManagerService.getUser(username);
System.out.println("---------------Succesfull login---------" + utype);
return new ModelAndView("Home");
}
}
15.UserSession.java
package web.controllers;
public class UserSession {
private String name;
private String ip;
private String place; // user's place
private String type_; // to identify the what kind of user is trying to login
private String pwd;
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public void setName(String name) {
this.name = name;
}
public void setIp(String ip) {
this.ip = ip;
}
public void setPlace(String place) {
this.place = place;
}
public void setType_(String type_) {
this.type_ = type_;
}
public UserSession() {
}
public String getName() {
return name;
}
public String getType_() {
return type_;
}
public String getPlace() {
return place;
}
public String getIp() {
return ip;
}
}
16.User.java
package domain;
import java.io.Serializable;
/**
* Category business object.
*
* @author <a href="mailto:gayand@ceit.pdn.ac.lk">Gayan Dissanayake</a>
*/
public class User implements Serializable {
private int userId;
private String username;
private String userpwd;
private int status;
private String usertype;
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;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserpwd() {
return userpwd;
}
public void setUserpwd(String userpwd) {
this.userpwd = userpwd;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getUsertype() {
return usertype;
}
public void setUsertype(String usertype) {
this.usertype = usertype;
}
/**
* Default constructor.
*/
public User() {
}
public String getUserType() {
return this.usertype;
}
public void setUserType(String usertype) {
this.usertype = usertype;
}
public String getUsername() {
return this.username;
}
public void setUsername(String newUsername) {
this.username = newUsername;
}
}
17.user.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="domain.User" table="user">
<id name="userId" column="userId" type="int">
<generator class="native"/>
</id>
<property name="username" column="username" type="java.lang.String"/>
<property name="userpwd" column="userpwd" type="java.lang.String"/>
<property name="status" column="status" type="int"/>
<property name="usertype" column="usertype" type="java.lang.String"/>
<property name="firstName" column="firstName" type="java.lang.String"/>
<property name="lastName" column="lastName" type="java.lang.String"/>
</class>
</hibernate-mapping>
18.postgres-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- ===================================================================== -->
<!-- -->
<!-- JBoss Server Configuration -->
<!-- -->
<!-- ===================================================================== -->
<!-- $Id: postgres-ds.xml,v 1.3 2004/09/15 14:37:40 loubyansky Exp $ -->
<!-- ==================================================================== -->
<!-- Datasource config for Postgres -->
<!-- ==================================================================== -->
<datasources>
<local-tx-datasource>
<jndi-name>PostgresDS</jndi-name>
<connection-url>jdbc:postgresql://localhost/astro</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>postgres</user-name>
<password>mysql</password>
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>PostgreSQL 7.2</type-mapping>
</metadata>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>PostgresDS1</jndi-name>
<connection-url>jdbc:postgresql://localhost/starfriends</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>postgres</user-name>
<password>mysql</password>
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>PostgreSQL 7.2</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>