1 引入包struts包: antlr commons-collections commons-io commons-logging commons-lang commons-fileupload freemaker javassist stuts2-core xwork-core ongl 11
hibernate hibernate3 required包下antlr commons-collections dom4j javassist jta slf4j-api 及jpa包下hibernate-jpa hibernate-commons-annotations hibernate-entitymanager jboss-logging jboss-transaction 8
还有mysql-connector-java junit4.10
2创建包,类,实体类对应的hibernate映射文件,Students类String sid,sname,gender,address,Date birthday构造方法无参和有参 ,封装和toString方法
Users类int uid String username,password 无参和有参构造方法
Students.hbm.xml hibernate-mapping class节点(name、table属性) 下面包含id节点(name type属性(包含generator节点 class属性assigned native))property节点(name type length属性)
Users.hbm.xml hibernate-mapping class节点(name、table属性) 下面包含id节点(name type column length属性)property节点(name type属性)
?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="entity.Students" table="STUDENTS">
<id name="sid" type="java.lang.String" length="8">
<generator class="assigned"/>
</id>
<property name="sname" type="java.lang.String"/>
<property name="gender" type="java.lang.String"/>
<property name="birthday" type="date"/>
<property name="address" type="java.lang.String"/>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="entity.Users" table="USERS">
<id name="uid" type="int" column="pid">
<generator class="native"/>
</id>
<property name="username" type="java.lang.String"/>
<property name="password" type="java.lang.String"/>
</class>
</hibernate-mapping>
3 hibernate配置文件 hibernate.cfg.xml 引入数据库连接属性 和自身 的属性
hibernate-cofiguration 节点
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8</property>
<property name="connection.username">root</property>
<property name="connection.password">12345678</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect </property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<property name="hibernate.current_session_context_class">thread</property>
<mapping resource="entity/Students.hbm.xml"/>
<mapping resource="entity/Users.hbm.xml"/>
</session-factory>
</hibernate-configuration>
4 web.xml struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" extends="struts-default" namespace="/">
</package>
<package name="users" namespace="/users" extends="default">
<action name="*_*" class="action.{1}Action" method="{2}">
<result name="login_success">/users/Users_login_success.jsp</result>
<result name="login_failue">/uses/Users_login.jsp</result>
<result name="logout_success">/uses/Users_login.jsp</result>
</action>
</package>
<package name="students" namespace="/students" extends="default">
<action name="*_*" class="action.{1}Action" method="{2}">
<result name="query_success">/students/Students_query_success.jsp</result>
<result name="modify_success" >/students/Students_modify.jsp</result>
<result name="save_success" >/students/Students_modify_success.jsp</result>
<result name="add_success">/students/Students_add_success.jsp</result>
<result name="delete_success" type="chain">Students_query</result>
</action>
</package>
</struts>
4 action类,权限验证,curd dao接口及实现类 curd db类获取sessionFactory对象目的是生产session对象 首先继承所有acton父类ActionSupport 实现三个接口,servlet原生api 自动装配servlet,访问web资源;
public class MyHibernateSessionFactory {
private static SessionFactory sessionFactory;
//构造方法私有化,保证单例模式
private MyHibernateSessionFactory(){
}
//公有的静态方法,获得会话工厂对象
public static SessionFactory getSessionFactory(){
if(sessionFactory==null){
Configuration config=new Configuration().configure();
ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory=config.buildSessionFactory(serviceRegistry);
return sessionFactory;
}else{
return sessionFactory;
}
}
}
public class SuperAction extends ActionSupport implements ServletRequestAware, ServletResponseAware,ServletContextAware{
/**
*
*/
private static final long serialVersionUID = 1L;
protected HttpServletRequest request;
protected HttpServletResponse response;
protected HttpSession session;
protected ServletContext application;
@Override
public void setServletContext(ServletContext application) {
// TODO Auto-generated method stub
this.application=application;
}
@Override
public void setServletResponse(HttpServletResponse response) {
// TODO Auto-generated method stub
this.response=response;
}
@Override
public void setServletRequest(HttpServletRequest request) {
// TODO Auto-generated method stub
this.request=request;
this.session=this.request.getSession();
}
}
//实现模型驱动方式接受web传递的参数;
public class UsersAction extends SuperAction implements ModelDriven<Users> {
/**
*
*/
private static final long serialVersionUID = 1L;
private Users user=new Users();
public String login()
{
UsersDao udao=new UsersDaoImpl();
//查到用户名和密码返回登录成功页面
if(udao.usersLogin(user))
{
//session中保存登录成功的用户名
session.setAttribute("loginUserName", user.getUsername());
return "login_success";
}
else
{
return "login_failue";
}
}
@SkipValidation
//用户注销方法
public String logout()
{
if(session.getAttribute("loginUserName")!=null)
{
session.removeAttribute("loginUserName");
}
return "logout_success";
}
@Override
public void validate() {
// TODO Auto-generated method stub
//用户名不能为空
if("".equals(user.getUsername().trim()))
{
this.addFieldError("usernameError", "用户名不能为空!");
}
if(user.getPassword().length()<6)
{
this.addFieldError("passwordError", "密码长度不少于6位");
}
}
@Override
public Users getModel() {
// TODO Auto-generated method stub
return this.user;
}
}
public interface UsersDao {
public boolean usersLogin(Users u);
}
public class UsersDaoImpl implements UsersDao{
public boolean usersLogin(Users u) {
// TODO Auto-generated method stub
Transaction tx=null;
String hql="";
try
{
//获取session对象
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
//开启事务
tx=session.beginTransaction();
//sql 查询
hql="from Users where username=? and password=?";
//调用session对象方法,获取查询对象
Query query=session.createQuery(hql);
//查询用户名和密码;
query.setParameter(0, u.getUsername());
query.setParameter(1, u.getPassword());
@SuppressWarnings("rawtypes")
List list=query.list();
//事务提交
tx.commit();
if(list.size()>0)
{
return true;
}
else
{
return false;
}
}
catch(Exception ex)
{
ex.printStackTrace();
return false;
}
finally
{
if(tx!=null)
{
//tx.commit();
tx=null;
}
}
}
public class StudentsAction extends SuperAction {
/**
*
*/
private static final long serialVersionUID = 1L;
public String query()
{
StudentsDao sdao=new StudentsDAOImpl();
List<Students> list=sdao.queryAllStudents();
if(list!=null&&list.size()>0)
{
session.setAttribute("students_list",list);
}
return "query_success";
}
public String delete()
{
StudentsDao sdao=new StudentsDAOImpl();
String sid=request.getParameter("sid");
sdao.deleteStudents(sid);
return "delete_success";
}
public String add() throws Exception{
Students s=new Students();
s.setSname(request.getParameter("sname"));
s.setGender(request.getParameter("gender"));
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
s.setBirthday(sf.parse(request.getParameter("birthday")));
s.setAddress(request.getParameter("address"));
StudentsDao sdao=new StudentsDAOImpl();
sdao.addStudents(s);
return "add_success";
}
public String modify()
{
String sid=request.getParameter("sid");
StudentsDao sdao=new StudentsDAOImpl();
Students s=sdao.queryStudentsBySid(sid);
session.setAttribute("modify_students", s);
return "modify_success";
}
public String save() throws Exception
{
Students s=new Students();
s.setSname(request.getParameter("sid"));
s.setSname(request.getParameter("sname"));
s.setGender(request.getParameter("gender"));
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
s.setBirthday(sf.parse(request.getParameter("birthday")));
s.setAddress(request.getParameter("address"));
StudentsDao sdao=new StudentsDAOImpl();
sdao.updateStudents(s);
return "save_success";
}
}
public interface StudentsDao {
//查询学生资料
public List<Students> queryAllStudents();
//根据学生编号查询学生资料
public Students queryStudentsBySid(String sid);
//添加学生资料
public boolean addStudents(Students s);
//修改学生资料
public boolean updateStudents(Students s);
//删除学生资料
public boolean deleteStudents(String sid);
}
public class StudentsDAOImpl implements StudentsDao{
public List<Students> queryAllStudents() {
// TODO Auto-generated method stub
Transaction tx=null;
List<Students> list=null;
String hql="";
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
hql="from Students ";
Query query=session.createQuery(hql);
list=query.list();
tx.commit();
return list;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return list;
}
finally
{
if(tx!=null)
{
//tx.commit();
tx=null;
}
}
}
public Students queryStudentsBySid(String sid) {
// TODO Auto-generated method stub
Transaction tx=null;
Students s=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
s=(Students)session.get(Students.class, sid);
tx.commit();
return s;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return s;
}
finally
{
if(tx!=null)
{
//tx.commit();
tx=null;
}
}
}
public boolean addStudents(Students s) {
s.setSid(getNewSid());
Transaction tx=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
session.save(s);
tx.commit();
return true;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return false;
}
finally
{
if(tx!=null)
{
tx=null;
}
}
// TODO Auto-generated method stub
}
public boolean updateStudents(Students s) {
// TODO Auto-generated method stub
Transaction tx=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
session.update(s);
tx.commit();
return true;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return false;
}
finally
{
if(tx!=null)
{
tx=null;
}
}
}
public boolean deleteStudents(String sid) {
// TODO Auto-generated method stub
Transaction tx=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
Students s=(Students)session.get(Students.class, sid);
session.delete(s);
tx.commit();
return true;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return false;
}
finally
{
if(tx!=null)
{
tx=null;
}
}
}
String getNewSid()
{
Transaction tx=null;
String hql="";
String sid=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
hql="select max(sid) from Students";
Query query=session.createQuery(hql);
sid=(String)query.uniqueResult();
if(sid==null||"".equals(sid))
{
sid="s0000001";
}
else{
String temp=sid.substring(1);
int i=Integer.parseInt(temp);
i++;
temp=String.valueOf(i);
int len=temp.length();
for(int j=0;j<7-len;j++)
{
temp="0"+temp;
}
sid="s"+temp;
}
return sid;
}
catch(Exception ex)
{
ex.printStackTrace();
return null;
}
finally
{
if(tx!=null)
{
tx=null;
}
}
}
}
https://www.cnblogs.com/jasonHome/p/5729671.html
hibernate hibernate3 required包下antlr commons-collections dom4j javassist jta slf4j-api 及jpa包下hibernate-jpa hibernate-commons-annotations hibernate-entitymanager jboss-logging jboss-transaction 8
还有mysql-connector-java junit4.10
2创建包,类,实体类对应的hibernate映射文件,Students类String sid,sname,gender,address,Date birthday构造方法无参和有参 ,封装和toString方法
Users类int uid String username,password 无参和有参构造方法
Students.hbm.xml hibernate-mapping class节点(name、table属性) 下面包含id节点(name type属性(包含generator节点 class属性assigned native))property节点(name type length属性)
Users.hbm.xml hibernate-mapping class节点(name、table属性) 下面包含id节点(name type column length属性)property节点(name type属性)
?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="entity.Students" table="STUDENTS">
<id name="sid" type="java.lang.String" length="8">
<generator class="assigned"/>
</id>
<property name="sname" type="java.lang.String"/>
<property name="gender" type="java.lang.String"/>
<property name="birthday" type="date"/>
<property name="address" type="java.lang.String"/>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="entity.Users" table="USERS">
<id name="uid" type="int" column="pid">
<generator class="native"/>
</id>
<property name="username" type="java.lang.String"/>
<property name="password" type="java.lang.String"/>
</class>
</hibernate-mapping>
3 hibernate配置文件 hibernate.cfg.xml 引入数据库连接属性 和自身 的属性
hibernate-cofiguration 节点
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8</property>
<property name="connection.username">root</property>
<property name="connection.password">12345678</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect </property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<property name="hibernate.current_session_context_class">thread</property>
<mapping resource="entity/Students.hbm.xml"/>
<mapping resource="entity/Users.hbm.xml"/>
</session-factory>
</hibernate-configuration>
4 web.xml struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" extends="struts-default" namespace="/">
</package>
<package name="users" namespace="/users" extends="default">
<action name="*_*" class="action.{1}Action" method="{2}">
<result name="login_success">/users/Users_login_success.jsp</result>
<result name="login_failue">/uses/Users_login.jsp</result>
<result name="logout_success">/uses/Users_login.jsp</result>
</action>
</package>
<package name="students" namespace="/students" extends="default">
<action name="*_*" class="action.{1}Action" method="{2}">
<result name="query_success">/students/Students_query_success.jsp</result>
<result name="modify_success" >/students/Students_modify.jsp</result>
<result name="save_success" >/students/Students_modify_success.jsp</result>
<result name="add_success">/students/Students_add_success.jsp</result>
<result name="delete_success" type="chain">Students_query</result>
</action>
</package>
</struts>
4 action类,权限验证,curd dao接口及实现类 curd db类获取sessionFactory对象目的是生产session对象 首先继承所有acton父类ActionSupport 实现三个接口,servlet原生api 自动装配servlet,访问web资源;
public class MyHibernateSessionFactory {
private static SessionFactory sessionFactory;
//构造方法私有化,保证单例模式
private MyHibernateSessionFactory(){
}
//公有的静态方法,获得会话工厂对象
public static SessionFactory getSessionFactory(){
if(sessionFactory==null){
Configuration config=new Configuration().configure();
ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory=config.buildSessionFactory(serviceRegistry);
return sessionFactory;
}else{
return sessionFactory;
}
}
}
public class SuperAction extends ActionSupport implements ServletRequestAware, ServletResponseAware,ServletContextAware{
/**
*
*/
private static final long serialVersionUID = 1L;
protected HttpServletRequest request;
protected HttpServletResponse response;
protected HttpSession session;
protected ServletContext application;
@Override
public void setServletContext(ServletContext application) {
// TODO Auto-generated method stub
this.application=application;
}
@Override
public void setServletResponse(HttpServletResponse response) {
// TODO Auto-generated method stub
this.response=response;
}
@Override
public void setServletRequest(HttpServletRequest request) {
// TODO Auto-generated method stub
this.request=request;
this.session=this.request.getSession();
}
}
//实现模型驱动方式接受web传递的参数;
public class UsersAction extends SuperAction implements ModelDriven<Users> {
/**
*
*/
private static final long serialVersionUID = 1L;
private Users user=new Users();
public String login()
{
UsersDao udao=new UsersDaoImpl();
//查到用户名和密码返回登录成功页面
if(udao.usersLogin(user))
{
//session中保存登录成功的用户名
session.setAttribute("loginUserName", user.getUsername());
return "login_success";
}
else
{
return "login_failue";
}
}
@SkipValidation
//用户注销方法
public String logout()
{
if(session.getAttribute("loginUserName")!=null)
{
session.removeAttribute("loginUserName");
}
return "logout_success";
}
@Override
public void validate() {
// TODO Auto-generated method stub
//用户名不能为空
if("".equals(user.getUsername().trim()))
{
this.addFieldError("usernameError", "用户名不能为空!");
}
if(user.getPassword().length()<6)
{
this.addFieldError("passwordError", "密码长度不少于6位");
}
}
@Override
public Users getModel() {
// TODO Auto-generated method stub
return this.user;
}
}
public interface UsersDao {
public boolean usersLogin(Users u);
}
public class UsersDaoImpl implements UsersDao{
public boolean usersLogin(Users u) {
// TODO Auto-generated method stub
Transaction tx=null;
String hql="";
try
{
//获取session对象
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
//开启事务
tx=session.beginTransaction();
//sql 查询
hql="from Users where username=? and password=?";
//调用session对象方法,获取查询对象
Query query=session.createQuery(hql);
//查询用户名和密码;
query.setParameter(0, u.getUsername());
query.setParameter(1, u.getPassword());
@SuppressWarnings("rawtypes")
List list=query.list();
//事务提交
tx.commit();
if(list.size()>0)
{
return true;
}
else
{
return false;
}
}
catch(Exception ex)
{
ex.printStackTrace();
return false;
}
finally
{
if(tx!=null)
{
//tx.commit();
tx=null;
}
}
}
public class StudentsAction extends SuperAction {
/**
*
*/
private static final long serialVersionUID = 1L;
public String query()
{
StudentsDao sdao=new StudentsDAOImpl();
List<Students> list=sdao.queryAllStudents();
if(list!=null&&list.size()>0)
{
session.setAttribute("students_list",list);
}
return "query_success";
}
public String delete()
{
StudentsDao sdao=new StudentsDAOImpl();
String sid=request.getParameter("sid");
sdao.deleteStudents(sid);
return "delete_success";
}
public String add() throws Exception{
Students s=new Students();
s.setSname(request.getParameter("sname"));
s.setGender(request.getParameter("gender"));
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
s.setBirthday(sf.parse(request.getParameter("birthday")));
s.setAddress(request.getParameter("address"));
StudentsDao sdao=new StudentsDAOImpl();
sdao.addStudents(s);
return "add_success";
}
public String modify()
{
String sid=request.getParameter("sid");
StudentsDao sdao=new StudentsDAOImpl();
Students s=sdao.queryStudentsBySid(sid);
session.setAttribute("modify_students", s);
return "modify_success";
}
public String save() throws Exception
{
Students s=new Students();
s.setSname(request.getParameter("sid"));
s.setSname(request.getParameter("sname"));
s.setGender(request.getParameter("gender"));
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
s.setBirthday(sf.parse(request.getParameter("birthday")));
s.setAddress(request.getParameter("address"));
StudentsDao sdao=new StudentsDAOImpl();
sdao.updateStudents(s);
return "save_success";
}
}
public interface StudentsDao {
//查询学生资料
public List<Students> queryAllStudents();
//根据学生编号查询学生资料
public Students queryStudentsBySid(String sid);
//添加学生资料
public boolean addStudents(Students s);
//修改学生资料
public boolean updateStudents(Students s);
//删除学生资料
public boolean deleteStudents(String sid);
}
public class StudentsDAOImpl implements StudentsDao{
public List<Students> queryAllStudents() {
// TODO Auto-generated method stub
Transaction tx=null;
List<Students> list=null;
String hql="";
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
hql="from Students ";
Query query=session.createQuery(hql);
list=query.list();
tx.commit();
return list;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return list;
}
finally
{
if(tx!=null)
{
//tx.commit();
tx=null;
}
}
}
public Students queryStudentsBySid(String sid) {
// TODO Auto-generated method stub
Transaction tx=null;
Students s=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
s=(Students)session.get(Students.class, sid);
tx.commit();
return s;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return s;
}
finally
{
if(tx!=null)
{
//tx.commit();
tx=null;
}
}
}
public boolean addStudents(Students s) {
s.setSid(getNewSid());
Transaction tx=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
session.save(s);
tx.commit();
return true;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return false;
}
finally
{
if(tx!=null)
{
tx=null;
}
}
// TODO Auto-generated method stub
}
public boolean updateStudents(Students s) {
// TODO Auto-generated method stub
Transaction tx=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
session.update(s);
tx.commit();
return true;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return false;
}
finally
{
if(tx!=null)
{
tx=null;
}
}
}
public boolean deleteStudents(String sid) {
// TODO Auto-generated method stub
Transaction tx=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
Students s=(Students)session.get(Students.class, sid);
session.delete(s);
tx.commit();
return true;
}
catch(Exception ex)
{
ex.printStackTrace();
tx.commit();
return false;
}
finally
{
if(tx!=null)
{
tx=null;
}
}
}
String getNewSid()
{
Transaction tx=null;
String hql="";
String sid=null;
try
{
Session session=MyHibernateSessionFactory.getSessionFactory().getCurrentSession();
tx=session.beginTransaction();
hql="select max(sid) from Students";
Query query=session.createQuery(hql);
sid=(String)query.uniqueResult();
if(sid==null||"".equals(sid))
{
sid="s0000001";
}
else{
String temp=sid.substring(1);
int i=Integer.parseInt(temp);
i++;
temp=String.valueOf(i);
int len=temp.length();
for(int j=0;j<7-len;j++)
{
temp="0"+temp;
}
sid="s"+temp;
}
return sid;
}
catch(Exception ex)
{
ex.printStackTrace();
return null;
}
finally
{
if(tx!=null)
{
tx=null;
}
}
}
}
https://www.cnblogs.com/jasonHome/p/5729671.html