lao1984wang 发表于 2013-2-5 09:46:06

shh的例子

action:
EmployeeAction.java
@Controller // employeeAction
public class EmployeeAction {
    @Resource EmployeeService employeeService;
   
public String execute(){
ActionContext.getContext().put("employees", employeeService.list());
return "list";
}
}
EmployeeManageAction
public class EmployeeManageAction {
@Resource EmployeeService employeeService;
private Employee employee;

public Employee getEmployee() {
return employee;
}

public void setEmployee(Employee employee) {
this.employee = employee;
}

public String addUI(){
return "add";
}

public String add(){
employeeService.save(employee);
ActionContext.getContext().put("message", "保存成功");
return "message";
}
}
Employee.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 package="cn.itcast.bean">
    <class name="Employee">
       <id name="username" length="20"/>
       <property name="password" length="20" not-null="true"/>
       <property name="gender" not-null="true" length="5">
      <type name="org.hibernate.type.EnumType">
      <param name="enumClass">cn.itcast.bean.Gender</param>
<!-- 12涓簀ava.sql.Types.VARCHAR甯搁噺鍊硷紝鍗充繚瀛樻灇涓剧殑瀛楅潰鍊煎埌鏁版嵁搴撱€傚鏋滀笉鎸囧畾type鍙傛暟锛屼繚瀛樻灇涓剧殑绱㈠紩鍊?浠?寮€濮?鍒版暟鎹簱-->
      <param name="type">12</param>
      </type>
      </property>
    </class>
</hibernate-mapping>
Employee.java
public class Employee {
private String username;
private String password;
private Gender gender = Gender.MAN;

public Employee(){}

public Employee(String username, String password) {
this.username = username;
this.password = password;
}
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 Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
}
Gender

public enum Gender {
MAN,
WOMEN;
}
EmployeeService
public interface EmployeeService {
public void save(Employee employee);
public void update(Employee employee);
public Employee find(String username);
public void delete(String... usernames);
public List<Employee> list();
}
EmployeeService
@Service @Transactional
public class EmployeeServiceBean implements EmployeeService{
@Resource SessionFactory factory;

public void delete(String... usernames) {
for(String username : usernames){
factory.getCurrentSession().delete(factory.getCurrentSession().load(Employee.class, username));
}
}

@Transactional(propagation=Propagation.NOT_SUPPORTED)
public Employee find(String username) {
return (Employee)factory.getCurrentSession().get(Employee.class, username);
}

@SuppressWarnings("unchecked")
@Transactional(propagation=Propagation.NOT_SUPPORTED)
public List<Employee> list() {
return factory.getCurrentSession().createQuery("from Employee").list();
}
   
public void save(Employee employee) {
factory.getCurrentSession().persist(employee);
}

public void update(Employee employee) {
factory.getCurrentSession().merge(employee);
}

}
页: [1]
查看完整版本: shh的例子