- <session-factory>
- <property name="connection.username">root</property>
- <property name="connection.url">
- jdbc:mysql://localhost:3306/test
- </property>
- <property name="dialect">
- org.hibernate.dialect.MySQLDialect
- </property>
- <property name="myeclipse.connection.profile">MySQL</property>
- <property name="connection.password">root</property>
- <property name="connection.driver_class">
- com.mysql.jdbc.Driver
- </property>
- <mapping resource="com/lian/bean/User.hbm.xml" />
- </session-factory>
<session-factory> <property name="connection.username">root</property> <property name="connection.url"> jdbc:mysql://localhost:3306/test </property> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="myeclipse.connection.profile">MySQL</property> <property name="connection.password">root</property> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <mapping resource="com/lian/bean/User.hbm.xml" /> </session-factory>
- <struts>
- <include file="struts-default.xml" />
- <package name="default" extends="struts-default">
- <action name="login" class="com.lian.action.LoginAction">
- <interceptor-ref name="defaultStack" />
- <result name="success">/success.jsp</result>
- <result name="error">error.jsp</result>
- </action>
- <action name="register" class="com.lian.action.RegisterAction">
- <interceptor-ref name="validationWorkflowStack" />
- <result name="success">success.jsp</result>
- <result name="error">error.jsp</result>
- <result name="input">register.jsp</result>
- </action>
- </package>
- </struts>
<struts> <include file="struts-default.xml" /> <package name="default" extends="struts-default"> <action name="login" class="com.lian.action.LoginAction"> <interceptor-ref name="defaultStack" /> <result name="success">/success.jsp</result> <result name="error">error.jsp</result> </action> <action name="register" class="com.lian.action.RegisterAction"> <interceptor-ref name="validationWorkflowStack" /> <result name="success">success.jsp</result> <result name="error">error.jsp</result> <result name="input">register.jsp</result> </action> </package> </struts>
- <filter>
- <filter-name>struts-cleanup</filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.ActionContextCleanUp
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts-cleanup</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.FilterDispatcher
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
<filter> <filter-name>struts-cleanup</filter-name> <filter-class> org.apache.struts2.dispatcher.ActionContextCleanUp </filter-class> </filter> <filter-mapping> <filter-name>struts-cleanup</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
- package com.lian.util;
- import org.hibernate.HibernateException;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.Transaction;
- import org.hibernate.cfg.Configuration;
- public class HibernateUtil {
- private static SessionFactory sessionFactory;
- public static final ThreadLocal<Session> session = new ThreadLocal<Session>();
- static {
- try {
- sessionFactory = new Configuration().configure().buildSessionFactory();
- } catch (Throwable ex) {
- throw new ExceptionInInitializerError(ex);
- }
- }
- /*
- * 获得当前session
- */
- public static Session getSession() throws HibernateException {
- Session s = (Session) session.get();
- if(s ==null || !s.isOpen()){
- s = sessionFactory.openSession();
- session.set(s);
- }
- return s;
- }
- /*
- * 回滚
- */
- public static void rollback(Transaction tx) {
- try {
- if(tx != null) {
- tx.rollback();
- }
- } catch (HibernateException e) {
- System.out.println("rollback faild." + e);
- }
- }
- /*
- * 关闭session
- */
- public static void closeSession() throws HibernateException {
- Session s = session.get();
- session.set(null);
- if(s != null) {
- s.close();
- }
- }
- }
package com.lian.util; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; public class HibernateUtil { private static SessionFactory sessionFactory; public static final ThreadLocal<Session> session = new ThreadLocal<Session>(); static { try { sessionFactory = new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { throw new ExceptionInInitializerError(ex); } } /* * 获得当前session */ public static Session getSession() throws HibernateException { Session s = (Session) session.get(); if(s ==null || !s.isOpen()){ s = sessionFactory.openSession(); session.set(s); } return s; } /* * 回滚 */ public static void rollback(Transaction tx) { try { if(tx != null) { tx.rollback(); } } catch (HibernateException e) { System.out.println("rollback faild." + e); } } /* * 关闭session */ public static void closeSession() throws HibernateException { Session s = session.get(); session.set(null); if(s != null) { s.close(); } } }
- package com.lian.dao;
- import java.util.Iterator;
- import java.util.List;
- import org.hibernate.HibernateException;
- import org.hibernate.Session;
- import org.hibernate.Transaction;
- import com.lian.bean.User;
- import com.lian.util.HibernateUtil;
- public class UserDao {
- private Session session;
- private Transaction tx;
- public UserDao() {
- session = HibernateUtil.getSession();
- }
- /*
- * 将User对象插入到数据库中
- * @param user
- */
- public void create(User user) {
- try {
- tx = session.beginTransaction();
- session.save(user);
- tx.commit();
- } catch (HibernateException e) {
- HibernateUtil.rollback(tx);
- } finally {
- HibernateUtil.closeSession();
- }
- }
- public void delete(User user) {
- try {
- tx = session.beginTransaction();
- session.delete(user);
- tx.commit();
- } catch (HibernateException e) {
- HibernateUtil.rollback(tx);
- } finally {
- HibernateUtil.closeSession();
- }
- }
- public User find(int id) {
- User user = null;
- tx = session.beginTransaction();
- user = (User) session.get(User.class, id);
- tx.commit();
- HibernateUtil.closeSession();
- return user;
- }
- public void update(User user) {
- tx = session.beginTransaction();
- session.update(user);
- tx.commit();
- HibernateUtil.closeSession();
- }
- public boolean check(User user) {
- tx = session.beginTransaction();
- String sql = "select u.password from User u where u.username='" +user.getUsername()+ "'";
- List list = session.createQuery(sql).list();
- if(!list.isEmpty()) {
- Iterator it = list.iterator();
- while(it.hasNext()) {
- String get = (String) it.next();
- System.out.println(get);
- if(get.equals(user.getPassword())) {
- HibernateUtil.closeSession();
- return true;
- }
- }
- }
- HibernateUtil.closeSession();
- return false;
- }
- }
package com.lian.dao;
import java.util.Iterator;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.lian.bean.User;
import com.lian.util.HibernateUtil;
public class UserDao {
private Session session;
private Transaction tx;
public UserDao() {
session = HibernateUtil.getSession();
}
/*
* 将User对象插入到数据库中
* @param user
*/
public void create(User user) {
try {
tx = session.beginTransaction();
session.save(user);
tx.commit();
} catch (HibernateException e) {
HibernateUtil.rollback(tx);
} finally {
HibernateUtil.closeSession();
}
}
public void delete(User user) {
try {
tx = session.beginTransaction();
session.delete(user);
tx.commit();
} catch (HibernateException e) {
HibernateUtil.rollback(tx);
} finally {
HibernateUtil.closeSession();
}
}
public User find(int id) {
User user = null;
tx = session.beginTransaction();
user = (User) session.get(User.class, id);
tx.commit();
HibernateUtil.closeSession();
return user;
}
public void update(User user) {
tx = session.beginTransaction();
session.update(user);
tx.commit();
HibernateUtil.closeSession();
}
public boolean check(User user) {
tx = session.beginTransaction();
String sql = "select u.password from User u where u.username='" +user.getUsername()+ "'";
List list = session.createQuery(sql).list();
if(!list.isEmpty()) {
Iterator it = list.iterator();
while(it.hasNext()) {
String get = (String) it.next();
System.out.println(get);
if(get.equals(user.getPassword())) {
HibernateUtil.closeSession();
return true;
}
}
}
HibernateUtil.closeSession();
return false;
}
}
- <hibernate-mapping>
- <class name="com.lian.bean.User" table="users">
- <id name="id" column="id" type= "java.lang.Long">
- <generator class="native" />
- </id>
- <property name="username" column="username" type="java.lang.String" />
- <property name="password" column="password" type="java.lang.String" />
- </class>
- </hibernate-mapping>
<hibernate-mapping> <class name="com.lian.bean.User" table="users"> <id name="id" column="id" type= "java.lang.Long"> <generator class="native" /> </id> <property name="username" column="username" type="java.lang.String" /> <property name="password" column="password" type="java.lang.String" /> </class> </hibernate-mapping>
- package com.lian.action;
- import com.lian.bean.User;
- import com.lian.dao.UserDao;
- import com.opensymphony.xwork2.ActionSupport;
- public class LoginAction extends ActionSupport {
- private long id;
- private String username;
- private String password;
- @Override
- public String execute() throws Exception {
- UserDao userDao = new UserDao();
- User user = new User();
- user.setUsername(username);
- user.setPassword(password);
- if(userDao.check(user)) {
- return SUCCESS;
- }
- return ERROR;
- }
- public long getId() {
- return id;
- }
- public void setId(long id) {
- this.id = id;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- }