您的位置:首页 > 运维架构 > Linux

Linux之变量引用与命令替换

2015-04-07 00:29 141 查看
1. 准备条件:
1.1 在MYSQL中创建hibernate数据库,创建person表
1.2 创建hibernate工程,导入struts2,hibernate3.3,mysql驱动包。
2. hibernate.cfg.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">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
<property name="format_sql">true</property>
<property name="show_sql">true</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

<mapping resource="person.hbm.xml" />
</session-factory>

</hibernate-configuration>

3. Person.java
package com.hibernate.model;

import java.sql.Date;

public class Person {

private Integer id;
private String username;
private String password;
private Integer age;
private Date registerdate;

public Integer getId() {
return id;
}
public void setId(Integer 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;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Date getRegisterdate() {
return registerdate;
}
public void setRegisterdate(Date registerdate) {
this.registerdate = registerdate;
}
}

4. person.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="com.hibernate.model.Person" table="person">
<id name="id" column="id" type="integer">
<generator class="increment"></generator>
</id>
<property name="username" column="username" type="string"></property>
<property name="password" column="password" type="string"></property>
<property name="age" column="age" type="integer"></property>
<property name="registerdate" column="registerdate" type="date"></property>
</class>
</hibernate-mapping>

5. HibernateUtil.java
package com.hibernate.util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {

private static SessionFactory sessionFactory;

//静态代码块(类加载就执行)
static{
try{
sessionFactory=new Configuration().configure().buildSessionFactory();
}catch(Exception ex){
System.out.println("创建sessionFactory时出错");
}
}

//获得Session
public static Session getSession(){
Session session=sessionFactory.openSession();
return session;
}

//关闭session
public static void closeSession(Session session){
if(session!=null){
session.close();
}
}
}

6. DBPerson.java
package com.hibernate.dao;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.hibernate.model.Person;
import com.hibernate.util.HibernateUtil;

public class DBPerson {

/**
* 保存
* @param bean
*/
public static void save(Person bean){
Session session=HibernateUtil.getSession();
Transaction tx=null;
try{
tx=session.beginTransaction();
session.save(bean);
tx.commit();
}catch(Exception ex){
System.out.println("保存数据时出错");
if(tx!=null){
tx.rollback();
}
}finally{
HibernateUtil.closeSession(session);
}
}

/**
* 查询所有
* @return
*/
@SuppressWarnings("unchecked")
public static List<Person> getAllPerson(){
Session session=HibernateUtil.getSession();
Transaction tx=null;
String hql="from Person";
List<Person> list=null;
try{
tx=session.beginTransaction();
Query query=session.createQuery(hql);
list=(List<Person>)query.list();
tx.commit();
}catch(Exception ex){
System.out.println("查询数据时出错");
if(tx!=null){
tx.rollback();
}
}finally{
HibernateUtil.closeSession(session);
}

return list;
}

/**
* 根据ID获得一条记录
* @param id
* @return
*/
public static Person getPersonById(Integer id){
Session session=HibernateUtil.getSession();
Transaction tx=null;
Person person=null;
try{
tx=session.beginTransaction();
person=(Person)session.get(Person.class, id);
tx.commit();
}catch(Exception ex){
System.out.println("查询单条数据时出错");
if(tx!=null){
tx.rollback();
}
}finally{
HibernateUtil.closeSession(session);
}

return person;
}

/**
* 删除
* @param bean
*/
public static void delPerson(Person bean){
Session session=HibernateUtil.getSession();
Transaction tx=null;
try{
tx=session.beginTransaction();
session.delete(bean);
tx.commit();
}catch(Exception ex){
System.out.println("删除数据时出错");
if(tx!=null){
tx.rollback();
}
}finally{
HibernateUtil.closeSession(session);
}
}

/**
* 修改
*/
public static void updatePerson(Person bean){
Session session=HibernateUtil.getSession();
Transaction tx=null;
try{
tx=session.beginTransaction();
session.update(bean);
tx.commit();
}catch(Exception ex){
System.out.println("更新数据时出错");
if(tx!=null){
tx.rollback();
}
}finally{
HibernateUtil.closeSession(session);
}
}
}

7. 配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <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>*.action</url-pattern>
</filter-mapping>
</web-app>

8. 配置struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="hibernate" extends="struts-default">
<action name="save" class="com.hibernate.action.PersionAction" method="save" >
<result name="success">/listAll.jsp</result>
</action>
<action name="getPerson" class="com.hibernate.action.PersionAction" method="getPerson" >
<result name="success">/getPerson.jsp</result>
</action>
<action name="updatePerson" class="com.hibernate.action.PersionAction" method="getPerson" >
<result name="success">/updatePerson.jsp</result>
</action>
<action name="doUpdatePerson" class="com.hibernate.action.PersionAction" method="updatePerson" >
<result name="success">/listAll.jsp</result>
</action>
<action name="deletePerson" class="com.hibernate.action.PersionAction" method="deletePerson" >
<result name="success">/listAll.jsp</result>
</action>
</package>
</struts>

9. PersonAction.java
package com.hibernate.action;

import java.util.List;

import org.apache.struts2.ServletActionContext;

import com.hibernate.dao.DBPerson;
import com.hibernate.model.Person;
import com.opensymphony.xwork2.ActionSupport;

public class PersionAction extends ActionSupport {

private Integer id;
private String username;
private String password;
private Integer age;

public Integer getId() {
return id;
}
public void setId(Integer 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;
}

public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}

public String save() throws Exception {
Person person=new Person();
person.setUsername(username);
person.setPassword(password);
person.setAge(age);
java.sql.Date registerdate=new java.sql.Date(new java.util.Date().getTime());
person.setRegisterdate(registerdate);

DBPerson.save(person);

List<Person> list=DBPerson.getAllPerson();

ServletActionContext.getRequest().setAttribute("list", list);

return SUCCESS;
}

public String getPerson() throws Exception {
Person person=DBPerson.getPersonById(id);

ServletActionContext.getRequest().setAttribute("person", person);

return SUCCESS;
}

public String updatePerson() throws Exception {
Person person=DBPerson.getPersonById(id);

person.setPassword(password);
person.setAge(age);

DBPerson.updatePerson(person);

List<Person> list=DBPerson.getAllPerson();

ServletActionContext.getRequest().setAttribute("list", list);

return SUCCESS;
}

public String deletePerson() throws Exception {
Person person=DBPerson.getPersonById(id);

DBPerson.delPerson(person);

List<Person> list=DBPerson.getAllPerson();

ServletActionContext.getRequest().setAttribute("list", list);

return SUCCESS;
}
}

10. register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册</title>
</head>
<body>
<form action="save.action" method=”post”>
<table  align="center">
<tr>
<td>用户名</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age" /></td>
</tr>
<tr>
<td><input type="submit" value="submit" /></td>
<td><input type="reset" value="reset" /></td>
</tr>
</table>
</form>
</body>
</html>

11. listAll.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>显示列表</title>
</head>
<body>
<table border="1" align="center" cellpadding="5">
<tr>
<th>用户名</th>
<th>密码</th>
<th>年龄</th>
<th>注册日期</th>
<th>操作</th>
</tr>
<s:iterator value="#request.list" id="person" >
<tr>
<td>
<s:a href="getPerson.action?id=%{#person.id}">
<s:property value="username" />
</s:a>
</td>
<td>
<s:property value="password" />
</td>
<td>
<s:property value="age" />
</td>
<td>
<s:property value="registerdate" />
</td>
<td>
<s:a href="updatePerson.action?id=%{#person.id}">
更新
</s:a>
<s:a href="deletePerson.action?id=%{#person.id}">
删除
</s:a>
</td>
</tr>
</s:iterator>
</table>
</body>
</html>

12. getPerson.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table  align="center">
<tr>
<td>用户名</td>
<td><s:property value="#request.person.username" /></td>
</tr>
<tr>
<td>密码</td>
<td><s:property value="#request.person.password" /></td>
</tr>
<tr>
<td>年龄</td>
<td><s:property value="#request.person.age" /></td>
</tr>
<tr>
<td>注册日期</td>
<td><s:property value="#request.person.registerdate" /></td>
</tr>
</table>
</body>
</html>

13. updatePerson.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="doUpdatePerson.action" method="post">
<s:hidden name="id" value="%{#request.person.id}"></s:hidden>
<table  align="center">
<tr>
<td>用户名</td>
<td><s:property value="#request.person.username" /></td>
</tr>
<tr>
<td>密码</td>
<td><s:password name="password" value="%{#request.person.password}"></s:password></td>
</tr>
<tr>
<td>年龄</td>
<td><s:textfield name="age" value="%{#request.person.age}" ></s:textfield></td>
</tr>
<tr>
<td>注册日期</td>
<td><s:property value="#request.person.registerdate" /></td>
</tr>
<tr>
<td><input type="submit" value="submit" /></td>
<td><input type="reset" value="reset" /></td>
</tr>
</table>
</form>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: