EmployeeSalDto.java
packageexamples.dto;
importjava.math.BigDecimal;
publicclassEmployeeSalDto{
privateBigDecimalfromSal;
privateBigDecimaltoSal;
publicEmployeeSalDto(){
}
publicBigDecimalgetFromSal(){
returnfromSal;
}
publicvoidsetFromSal(BigDecimalfromSal){
this.fromSal=fromSal;
}
publicBigDecimalgetToSal(){
returntoSal;
}
publicvoidsetToSal(BigDecimaltoSal){
this.toSal=toSal;
}
}
EmployeeSearchDto.java
packageexamples.dto;
importjava.io.Serializable;
importjava.math.BigDecimal;
publicclassEmployeeSearchDtoimplementsSerializable{
privatestaticfinallongserialVersionUID=1L;
privateIntegerempno;
privateStringename;
privateStringjob;
privateShortmgr;
privatejava.util.DatefromHiredate;
privatejava.util.DatetoHiredate;
privateBigDecimalfromSal;
privateBigDecimaltoSal;
privateIntegerdeptno;
publicEmployeeSearchDto(){
}
publicIntegergetEmpno(){
returnthis.empno;
}
publicvoidsetEmpno(Integerempno){
this.empno=empno;
}
publicjava.lang.StringgetEname(){
returnthis.ename;
}
publicvoidsetEname(java.lang.Stringename){
this.ename=ename;
}
publicjava.lang.StringgetJob(){
returnthis.job;
}
publicvoidsetJob(java.lang.Stringjob){
this.job=job;
}
publicShortgetMgr(){
returnthis.mgr;
}
publicvoidsetMgr(Shortmgr){
this.mgr=mgr;
}
publicjava.util.DategetFromHiredate(){
returnthis.fromHiredate;
}
publicvoidsetFromHiredate(java.util.DatefromHiredate){
this.fromHiredate=fromHiredate;
}
publicjava.util.DategetToHiredate(){
returnthis.toHiredate;
}
publicvoidsetToHiredate(java.util.DatetoHiredate){
this.toHiredate=toHiredate;
}
publicBigDecimalgetFromSal(){
returnthis.fromSal;
}
publicvoidsetFromSal(BigDecimalfromSal){
this.fromSal=fromSal;
}
publicBigDecimalgetToSal(){
returnthis.toSal;
}
publicvoidsetToSal(BigDecimaltoSal){
this.toSal=toSal;
}
publicIntegergetDeptno(){
returnthis.deptno;
}
publicvoidsetDeptno(Integerdeptno){
this.deptno=deptno;
}
publicStringtoString(){
StringBufferbuf=newStringBuffer("[");
buf.append(empno).append(",");
buf.append(ename).append(",");
buf.append(job).append(",");
buf.append(mgr).append(",");
buf.append(fromHiredate).append(",");
buf.append(toHiredate).append(",");
buf.append(fromSal).append(",");
buf.append(toSal).append(",");
buf.append(deptno).append("]");
returnbuf.toString();
}
}
EmployeeSimpleDto.java
packageexamples.dto;
importexamples.entity.Employee;
publicclassEmployeeSimpleDtoextendsEmployee{
privatestaticfinallongserialVersionUID=1L;
privateStringorderBy;
publicStringgetOrderBy(){
returnorderBy;
}
publicvoidsetOrderBy(StringorderBy){
this.orderBy=orderBy;
}
}
Department.java
packageexamples.entity;
importjava.io.Serializable;
importjava.util.Set;
publicclassDepartmentimplementsSerializable{
privatestaticfinallongserialVersionUID=1L;
privateintdeptno;
privateStringdname;
privateStringloc;
privateSet<Employee>employee;
publicDepartment(){
}
publicintgetDeptno(){
returnthis.deptno;
}
publicvoidsetDeptno(intdeptno){
this.deptno=deptno;
}
publicjava.lang.StringgetDname(){
returnthis.dname;
}
publicvoidsetDname(java.lang.Stringdname){
this.dname=dname;
}
publicjava.lang.StringgetLoc(){
returnthis.loc;
}
publicvoidsetLoc(java.lang.Stringloc){
this.loc=loc;
}
publicSet<Employee>getEmployee(){
returnemployee;
}
publicvoidsetEmployee(Set<Employee>employee){
this.employee=employee;
}
publicbooleanequals(Objectother){
if(!(otherinstanceofDepartment))returnfalse;
DepartmentcastOther=(Department)other;
returnthis.getDeptno()==castOther.getDeptno();
}
publicStringtoString(){
StringBufferbuf=newStringBuffer();
buf.append("n").append(deptno).append(",");
buf.append(dname).append(",");
buf.append(loc).append(",n");
buf.append(employee);
returnbuf.toString();
}
publicinthashCode(){
return(int)this.getDeptno();
}
}
Employee.java
packageexamples.entity;
importjava.io.Serializable;
importjava.math.BigDecimal;
publicclassEmployeeimplementsSerializable{
privatestaticfinallongserialVersionUID=1L;
privateIntegerempno;
privateStringename;
privateStringjob;
privateShortmgr;
privatejava.util.Datehiredate;
privateBigDecimalsal;
privateFloatcomm;
privateIntegerdeptno;
publicEmployee(Integerempno,java.lang.Stringename,java.lang.Stringjob,Shortmgr,java.util.Datehiredate,BigDecimalsal,Floatcomm,Integerdeptno){
this.empno=empno;
this.ename=ename;
this.job=job;
this.mgr=mgr;
this.hiredate=hiredate;
this.sal=sal;
this.comm=comm;
this.deptno=deptno;
}
publicEmployee(){
}
publicEmployee(Integerempno){
this.empno=empno;
}
publicIntegergetEmpno(){
returnthis.empno;
}
publicvoidsetEmpno(Integerempno){
this.empno=empno;
}
publicjava.lang.StringgetEname(){
returnthis.ename;
}
publicvoidsetEname(java.lang.Stringename){
this.ename=ename;
}
publicjava.lang.StringgetJob(){
returnthis.job;
}
publicvoidsetJob(java.lang.Stringjob){
this.job=job;
}
publicShortgetMgr(){
returnthis.mgr;
}
publicvoidsetMgr(Shortmgr){
this.mgr=mgr;
}
publicjava.util.DategetHiredate(){
returnthis.hiredate;
}
publicvoidsetHiredate(java.util.Datehiredate){
this.hiredate=hiredate;
}
publicBigDecimalgetSal(){
returnthis.sal;
}
publicvoidsetSal(BigDecimalsal){
this.sal=sal;
}
publicFloatgetComm(){
returnthis.comm;
}
publicvoidsetComm(Floatcomm){
this.comm=comm;
}
publicIntegergetDeptno(){
returnthis.deptno;
}
publicvoidsetDeptno(Integerdeptno){
this.deptno=deptno;
}
publicbooleanequals(Objectother){
if(!(otherinstanceofEmployee))returnfalse;
EmployeecastOther=(Employee)other;
returnthis.getEmpno()==castOther.getEmpno();
}
publicinthashCode(){
returnthis.getEmpno().intValue();
}
publicStringtoString(){
StringBufferbuf=newStringBuffer();
buf.append("[");
buf.append(deptno).append(",");
buf.append(empno).append(",");
buf.append(ename).append(",");
buf.append(job).append(",");
buf.append(mgr).append(",");
buf.append(hiredate).append(",");
buf.append(sal).append(",");
buf.append(comm).append(",");
buf.append(deptno).append("]n");
returnbuf.toString();
}
}
Department.hbm.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<classname="examples.entity.Department"table="DEPT">
<idname="deptno"type="int">
<generatorclass="assigned"/>
</id>
<propertyname="dname"type="string"/>
<propertyname="loc"type="string"/>
<setname="employee"lazy="false">
<keycolumn="DEPTNO"/>
<one-to-manyclass="examples.entity.Employee"/>
</set>
</class>
</hibernate-mapping>
Employee.hbm.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<classname="examples.entity.Employee"table="EMP">
<idname="empno"column="EMPNO"type="integer">
<generatorclass="assigned"/>
</id>
<propertyname="ename"column="ENAME"type="string"length="10"/>
<propertyname="job"column="JOB"type="string"length="9"/>
<propertyname="mgr"column="MGR"type="short"length="4"/>
<propertyname="hiredate"column="HIREDATE"type="timestamp"/>
<propertyname="sal"column="SAL"type="big_decimal"length="7"/>
<propertyname="comm"column="COMM"type="float"length="7"/>
<propertyname="deptno"column="DEPTNO"type="int"length="2"/>
</class>
<queryname="examples.dao.EmployeeAutoDao_getEmployeeByJob"><![CDATA[
fromEmployeeemp
whereemp.job=:job
orderbyemp.empnodesc
]]></query>
<queryname="examples.dao.EmployeeAutoDao_getSQLEmployeeNameById"><![CDATA[
selectemp.enamefromEmployeeempwhereemp.empno=:employeeId
]]></query>
<queryname="getSQLEmployeeIdByName"><![CDATA[
selectemp.empnofromEmployeeempwhereemp.ename=:employeeName
]]></query>
<queryname="getEmployeeBySalDto"><![CDATA[
fromEmployeeempwhereemp.sal>:fromSalandemp.sal<:toSal
]]></query>
</hibernate-mapping>
测试代码:
DepartmentAutoDaoClient.java
packageexamples.work;
importorg.seasar.framework.container.S2Container;
importorg.seasar.framework.container.factory.S2ContainerFactory;
importexamples.dao.DepartmentAutoDao;
importexamples.entity.Department;
publicclassDepartmentAutoDaoClient{
privatestaticfinalStringPATH="app.dicon";
publicstaticvoidmain(String[]args){
S2Containercontainer=S2ContainerFactory.create(PATH);
container.init();
try{
DepartmentAutoDaodao=(DepartmentAutoDao)container.getComponent(DepartmentAutoDao.class);
Departmentdept=dao.getDepartmentByDeptno((short)30);
System.out.println(dept);
// Listlist=dao.findAll();
// System.out.println(list);
}catch(Exceptione){
e.printStackTrace();
}finally{
container.destroy();
}
}
}
EmployeeAutoDaoClient.java
packageexamples.work;
importorg.seasar.framework.container.S2Container;
importorg.seasar.framework.container.factory.S2ContainerFactory;
importexamples.dao.EmployeeAutoDao;
importexamples.entity.Employee;
publicclassEmployeeAutoDaoClient{
privatestaticfinalStringPATH="app.dicon";
publicstaticvoidmain(String[]args){
S2Containercontainer=S2ContainerFactory.create(PATH);
container.init();
try{
EmployeeAutoDaodao=(EmployeeAutoDao)container.getComponent(EmployeeAutoDao.class);
Employeeemp=newEmployee();
emp.setEmpno(newInteger(9999));
emp.setEname("SCOTT");
emp.setDeptno(newInteger(10));
dao.save(emp);
emp.setEname("SYSTEM");
dao.update(emp);
emp=dao.getEmployeeByEmpNo(newInteger(9999));
System.out.println(emp.getEname());
dao.delete(emp);
}catch(Exceptione){
e.printStackTrace();
}finally{
container.destroy();
}
}
}
EmployeeAutoDaoSimpleDtoClient.java
packageexamples.work;
importjava.util.List;
importorg.seasar.framework.container.S2Container;
importorg.seasar.framework.container.factory.S2ContainerFactory;
importexamples.dao.EmployeeAutoDao;
importexamples.entity.Employee;
publicclassEmployeeAutoDaoSimpleDtoClient{
privatestaticfinalStringPATH="app.dicon";
publicstaticvoidmain(String[]args){
S2Containercontainer=S2ContainerFactory.create(PATH);
container.init();
try{
EmployeeAutoDaodao=(EmployeeAutoDao)container.getComponent(EmployeeAutoDao.class);
Employeeemp=newEmployee();
emp.setJob("MANAGER" );
emp.setDeptno(newInteger(20) );
List<?>ret=dao.getEmployeeByEmployeeDtoAuto(emp);
System.out.println("RET:"+((Employee)ret.get(0)).getEname());
}finally{
container.destroy();
}
}
}
EmployeeClient.java
packageexamples.work;
importorg.seasar.framework.container.S2Container;
importorg.seasar.framework.container.factory.S2ContainerFactory;
importexamples.dao.EmployeeDao;
publicclassEmployeeClient{
privatestaticfinalStringPATH="app.dicon";
publicstaticvoidmain(String[]args){
S2Containercontainer=S2ContainerFactory.create(PATH);
container.init();
try{
EmployeeDaodao=(EmployeeDao)container.getComponent(EmployeeDao.class);
System.out.println(dao.getEmployee(7900).getEname());
// Employeeemployee=newEmployee();
// employee.setEmpno(newInteger(7788));
// employee.setEname("SCOTT");
// dao.save(employee);
}catch(Exceptione){
e.printStackTrace();
}finally{
container.destroy();
}
}
}