自已学过Struts2+Hibernate
本来进公司前简历上就写明了不会Spring现在一进公司老大给了一段不完整而且不规范又没有注释文档的代码 要我仿写实在是搞不定了跪求大虾帮忙我先把我写的代码贴到这上面,如果能帮我的也可加我Q281841698 我可以传完整的我写的代码大体情况:
1.流程 jsp提交表单--action调用--service调用---dao完成数据库CRUD操作
实现技术:struts2+spring2.x
2.程序所用的是Oracle自带的emp表 ------------------------Action------------------
package com.crud.action;import java.util.Date;
import java.util.List;
import java.util.Map;
import com.crud.interfac.IEmpService;
import com.crud.vo.Emp;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")
public class OperAction extends ActionSupport {
private IEmpService iempService;
private Emp emp;
private int empNo;
private Emp empName;
private String job;
private float sal;
private float comm; public Emp getEmp() {
return emp;
} public void setEmp(Emp emp) {
this.emp = emp;
} public int getEmpNo() {
return empNo;
} public void setEmpNo(int empNo) {
this.empNo = empNo;
} public Emp getEmpName() {
return empName;
} public void setEmpName(Emp empName) {
this.empName = empName;
} public String getJob() {
return job;
} public void setJob(String job) {
this.job = job;
} public float getSal() {
return sal;
} public void setSal(float sal) {
this.sal = sal;
} public float getComm() {
return comm;
} public void setComm(float comm) {
this.comm = comm;
} public IEmpService getIempService() {
return iempService;
} public void setIempService(IEmpService iempService) {
this.iempService = iempService;
} public void doCreate() throws Exception {
this.iempService.doCreate(emp);
} public void doDelete(Emp empNo) throws Exception {
this.iempService.doDelete(empNo);
} public void doUpdate(Emp emp) throws Exception {
this.iempService.doUpdate(emp);
} public String findByName() throws Exception {
List<Emp> ListEmp=this.iempService.findByName(empName);
Map request=(Map)ActionContext.getContext().get("request");
request.put("empList", ListEmp);
return "SUCCESS";
}
}------------------------EmpDAO------------------
package com.crud.dao;import java.util.List;import javax.sql.DataSource;import org.springframework.jdbc.core.JdbcTemplate;
import com.crud.interfac.IEmpDAO;
import com.crud.mapping.RowMapping;
import com.crud.vo.Emp;public class EmpDAO implements IEmpDAO {
JdbcTemplate jdbcTempl;
public void setDataSource(DataSource dataSource){
this.jdbcTempl=new JdbcTemplate(dataSource);
}
@Override
public void doCreate(Emp emp) throws Exception {
String sql="INSERT INTO emp(empNo,empName,job,hiredate,sal,comm) values(?,?,?,?,?,?)";
this.jdbcTempl.update(sql,new Object[]{emp.getEmpNo(),emp.getEmpName(),emp.getJob(),emp.getSal(),emp.getComm()},new int[]{java.sql.Types.NUMERIC,java.sql.Types.VARCHAR,java.sql.Types.VARCHAR,java.sql.Types.NUMERIC,java.sql.Types.NUMERIC});
} @Override
public void doDelete(Emp empNo) throws Exception {
String sql="DELTE FROM emp where empNo=?";
this.jdbcTempl.update(sql,new Object[]{empNo},new int[]{java.sql.Types.NUMERIC});
} @Override
public void doUpdate(Emp emp) throws Exception {
String sql="UPDATE emp SET empName=?,job=?,sal=?,comm=? where empNo=?";
this.jdbcTempl.update(sql,new Object[]{emp.getEmpName(),emp.getJob(),emp.getSal(),emp.getComm()},new int[]{java.sql.Types.VARCHAR,java.sql.Types.VARCHAR,java.sql.Types.DATE,java.sql.Types.NUMERIC,java.sql.Types.NUMERIC});
} @SuppressWarnings("unchecked")
@Override
public List<Emp> findByName(Emp empName)throws Exception {
String sql="SELECT empNo,job,hiredate,sal,comm FROM emp WHERE empName like' "+empName+"%'";
return (List<Emp>)this.jdbcTempl.query(sql, new RowMapping());
}}
本来进公司前简历上就写明了不会Spring现在一进公司老大给了一段不完整而且不规范又没有注释文档的代码 要我仿写实在是搞不定了跪求大虾帮忙我先把我写的代码贴到这上面,如果能帮我的也可加我Q281841698 我可以传完整的我写的代码大体情况:
1.流程 jsp提交表单--action调用--service调用---dao完成数据库CRUD操作
实现技术:struts2+spring2.x
2.程序所用的是Oracle自带的emp表 ------------------------Action------------------
package com.crud.action;import java.util.Date;
import java.util.List;
import java.util.Map;
import com.crud.interfac.IEmpService;
import com.crud.vo.Emp;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")
public class OperAction extends ActionSupport {
private IEmpService iempService;
private Emp emp;
private int empNo;
private Emp empName;
private String job;
private float sal;
private float comm; public Emp getEmp() {
return emp;
} public void setEmp(Emp emp) {
this.emp = emp;
} public int getEmpNo() {
return empNo;
} public void setEmpNo(int empNo) {
this.empNo = empNo;
} public Emp getEmpName() {
return empName;
} public void setEmpName(Emp empName) {
this.empName = empName;
} public String getJob() {
return job;
} public void setJob(String job) {
this.job = job;
} public float getSal() {
return sal;
} public void setSal(float sal) {
this.sal = sal;
} public float getComm() {
return comm;
} public void setComm(float comm) {
this.comm = comm;
} public IEmpService getIempService() {
return iempService;
} public void setIempService(IEmpService iempService) {
this.iempService = iempService;
} public void doCreate() throws Exception {
this.iempService.doCreate(emp);
} public void doDelete(Emp empNo) throws Exception {
this.iempService.doDelete(empNo);
} public void doUpdate(Emp emp) throws Exception {
this.iempService.doUpdate(emp);
} public String findByName() throws Exception {
List<Emp> ListEmp=this.iempService.findByName(empName);
Map request=(Map)ActionContext.getContext().get("request");
request.put("empList", ListEmp);
return "SUCCESS";
}
}------------------------EmpDAO------------------
package com.crud.dao;import java.util.List;import javax.sql.DataSource;import org.springframework.jdbc.core.JdbcTemplate;
import com.crud.interfac.IEmpDAO;
import com.crud.mapping.RowMapping;
import com.crud.vo.Emp;public class EmpDAO implements IEmpDAO {
JdbcTemplate jdbcTempl;
public void setDataSource(DataSource dataSource){
this.jdbcTempl=new JdbcTemplate(dataSource);
}
@Override
public void doCreate(Emp emp) throws Exception {
String sql="INSERT INTO emp(empNo,empName,job,hiredate,sal,comm) values(?,?,?,?,?,?)";
this.jdbcTempl.update(sql,new Object[]{emp.getEmpNo(),emp.getEmpName(),emp.getJob(),emp.getSal(),emp.getComm()},new int[]{java.sql.Types.NUMERIC,java.sql.Types.VARCHAR,java.sql.Types.VARCHAR,java.sql.Types.NUMERIC,java.sql.Types.NUMERIC});
} @Override
public void doDelete(Emp empNo) throws Exception {
String sql="DELTE FROM emp where empNo=?";
this.jdbcTempl.update(sql,new Object[]{empNo},new int[]{java.sql.Types.NUMERIC});
} @Override
public void doUpdate(Emp emp) throws Exception {
String sql="UPDATE emp SET empName=?,job=?,sal=?,comm=? where empNo=?";
this.jdbcTempl.update(sql,new Object[]{emp.getEmpName(),emp.getJob(),emp.getSal(),emp.getComm()},new int[]{java.sql.Types.VARCHAR,java.sql.Types.VARCHAR,java.sql.Types.DATE,java.sql.Types.NUMERIC,java.sql.Types.NUMERIC});
} @SuppressWarnings("unchecked")
@Override
public List<Emp> findByName(Emp empName)throws Exception {
String sql="SELECT empNo,job,hiredate,sal,comm FROM emp WHERE empName like' "+empName+"%'";
return (List<Emp>)this.jdbcTempl.query(sql, new RowMapping());
}}
解决方案 »
- struts2 doubleselect标签 doubleHeaderKey doubleHeaderValue 不能显示
- spring 局域网类启动问题
- 请能读懂Emforge开源项目的讲课并做技术支持
- axis 开发的webservice必须放到单独的一个项目中吗?
- 高分求:Tomcat容器中运行的Web应用如何访问远程的JNDI
- cas单点登录的问题!!1
- 大家帮我看看操作数据源的BEAN,错误在那里,先行谢谢了
- 一条语句有错误,想了很长时间想不明白,请大家指点一下!!
- 请问一个关于JDK的问题
- 用实体bean实现修改记录的问题?
- TOMCAT移植到WEBLOGIC92中的问题
- List排序问题
package com.crud.interfac;import java.util.List;import com.crud.vo.Emp;
public interface IEmpDAO {
public void doCreate(Emp emp) throws Exception; public void doDelete(Emp empNo) throws Exception; public void doUpdate(Emp emp) throws Exception;
public List<Emp> findByName(Emp empName)throws Exception;
}------------------------IEmpService------------------
package com.crud.interfac;import java.util.List;import com.crud.vo.Emp;
public interface IEmpDAO {
public void doCreate(Emp emp) throws Exception; public void doDelete(Emp empNo) throws Exception; public void doUpdate(Emp emp) throws Exception;
public List<Emp> findByName(Emp empName)throws Exception;
}------------------------EmpService------------------
package com.crud.service;import java.util.List;import com.crud.interfac.IEmpDAO;
import com.crud.interfac.IEmpService;
import com.crud.vo.Emp;public class EmpService implements IEmpService {
private IEmpDAO iempdao; public IEmpDAO getIempdao() {
return iempdao;
} public void setIempdao(IEmpDAO iempdao) {
this.iempdao = iempdao;
}
@Override
public void doCreate(Emp emp) throws Exception {
this.iempdao.doCreate(emp); } @Override
public void doDelete(Emp empNo) throws Exception {
this.iempdao.doDelete(empNo); } @Override
public void doUpdate(Emp emp) throws Exception {
this.iempdao.doUpdate(emp);
}
@Override
public List<Emp> findByName(Emp empName) throws Exception {
return(List<Emp>) this.iempdao.findByName(empName);
}
}------------------------RowMapping------------------
package com.crud.mapping;import java.sql.ResultSet;
import java.sql.SQLException;import org.springframework.jdbc.core.RowMapper;import com.crud.vo.Emp;public class RowMapping implements RowMapper { @Override
public Object mapRow(ResultSet rs, int index) throws SQLException {
Emp emp=new Emp();
emp.setEmpNo(rs.getInt(1));
emp.setEmpName(rs.getString(2));
emp.setJob(rs.getString(3));
emp.setSal(rs.getFloat(4));
emp.setComm(rs.getFloat(5));
return emp;
}
}
package com.crud.vo;
public class Emp {
private int empNo;
private String empName;
private String job;
private float sal;
private float comm;
public int getEmpNo() {
return empNo;
}
public void setEmpNo(int empNo) {
this.empNo = empNo;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public float getSal() {
return sal;
}
public void setSal(float sal) {
this.sal = sal;
}
public float getComm() {
return comm;
}
public void setComm(float comm) {
this.comm = comm;
}
}
------------------------web.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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>StrutsSpringCRUD</display-name>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<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>
</web-app>------------------------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>
<!-- 表示web的编码集 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 表示请求action的后缀 -->
<constant name="struts.action.extension" value="action"></constant>
<!-- 表示action交给spring容器管理 -->
<constant name="struts.objectFactory" value="spring"></constant>
<!-- 表示在修改struts配置文件时,系统是否自动加载该文件 默认为false 在开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload" value="true"></constant>
<package name="struts2" extends="struts-default">
<action name="OperAction_*" class="OperAction" method="{1}">
<result name="SUCEESS">/jsp/emp_list.jsp</result>
<result name="DELETE">/jsp/emp_list.jsp</result>
<result name="UPDATE">/jsp/emp_list.jsp</result>
<result name="SELECT">/jsp/select.jsp</result>
</action>
</package>
</struts>
------------------------ApplicationContext.xml------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd "> <!-- 配置数据源 -->
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriverr">
</property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:Ora"></property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>
<!-- 配置事务管理器 目标对象-->
<bean id="dsManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 将Struts交给Spring管理 -->
<!-- 采用aop管理事务 -->
<!-- 定义事务通知 -->
<tx:advice id="dsAdvice" transaction-manager="dsManager">
<tx:attributes>
<!-- 定义事务的边界 -->
<!--
never: 不开启事务
not-supported : 如果没有事务运行正常,如果有事务抛出异常
support : 如果有事务运行则使用当前事务,如果没有就不开启新事务,正常运行
required: (最常用)如果有事务运行则使用当前事务,如果没有就开启新事务
requires_new: 如果有事务运行把当前的事务挂起,开启新事务;如果没有就开启新事务
NESTED: (慎用) 有hibernate进行扩展,依赖于数据库的实现。支持 sql server, oracle 。。
-->
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
<!-- spring的依赖注入技术-->
<bean id="iempdao" class="com.crud.dao.EmpDAO">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="iempService" class="com.crud.service.EmpService">
<property name="iempdao" ref="iempdao"></property>
</bean>
<bean id="OperAction" class="com.crud.action.OperAction">
<property name="iempService" ref="iempService"></property>
</bean>
</beans>
http://www.boobooke.com/bbs/thread-29172-1-1.html
23-24集
22号应该还有时间,看能不能救你
自助者天助
自救者天救
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>增加雇员</title>
</head>
<body>
<form action="OperAction_doCreate.action" method="post">
雇员编号:<input type="text" name="emp.empNo"><br>
雇员姓名:<input type="text" name="emp.empName"><br>
工作:<input type="text" name="job"><br>
工资:<input type="text" name="sal"><br>
奖金:<input type="text" name="comm"><br>
<input type="submit" value="提交">
<input type="reset" name="重置">
</form>
</body>
</html>
------------------------delete.jsp------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>删除雇员</title>
</head>
<body>
请输入您要删除的员工编号:
<form action="OperAction_doCreate.action" method="post">
雇员姓名:<input type="text" name="empname">
<input type="submit" value="提交">
<input type="reset" name="重置">
</form>
</body>
</html>
------------------------update.jsp------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>更新雇员</title>
</head>
<body>
<form action="OperAction_doUpdate.action" method="post">
雇员编号:<input type="text" name="empno"><br>
雇员姓名:<input type="text" name="empname"><br>
工作:<input type="text" name="job"><br>
工资:<input type="text" name="sal"><br>
奖金:<input type="text" name="comm"><br>
<input type="submit" value="提交">
<input type="reset" name="重置">
</form>
</body>
</html>
------------------------select.jsp------------------
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>查询雇员</title>
</head>
<body>
请输入您要查找的员工姓名:
<form action="OperAction_findByName.action" method="post">
雇员姓名:<input type="text" name="empname">
<input type="submit" value="提交">
<input type="reset" name="重置">
</form>
</body>
</html>
------------------------emp_list.jsp------------------
<%@ page contentType="text/html;charset=GBK"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>雇员管理</title>
</head>
<body>
<center>
<h2>雇员管理程序</h2>
<hr>
<br/>
<table>
<s:a href="create.jsp">增加雇员</s:a>
<s:a href="delete.jsp">删除雇员</s:a>
<s:a href="update.jsp">修改雇员</s:a>
<s:a href="select.jsp">查询雇员</s:a>
</table>
<br/>
<br/>
<table border="1" width="80%" cellpadding="5" cellspacing="0" bgcolor="F2F2F2">
<tr>
<td>雇员编号</td>
<td>雇员姓名</td>
<td>工作</td>
<td>工资</td>
<td>奖金</td>
<td colspan="2">操作</td>
</tr> <s:iterator value="#request.emp" id="list">
<tr>
<td><s:property value="#list.empno"/></td>
<td><s:property value="#list.empname"/></td>
<td><s:property value="#list.job"/></td>
<td><s:property value="#list.scal"/></td>
<td><s:property value="#list.comm"/></td>
</tr>
</s:iterator>
</table>
<s:url id="url_pre" value="show.action">
<s:param name="pageNow" value="pageNow-1"></s:param>
</s:url> <s:url id="url_next" value="show.action">
<s:param name="pageNow" value="pageNow+1"></s:param>
</s:url>
<s:a href="%{url_pre}">上一页</s:a>
<s:iterator value="students" status="status">
<s:url id="url" value="show.action">
<s:param name="pageNow" value="pageNow"/>
</s:url>
</s:iterator>
<s:a href="%{url_next}">下一页</s:a>
</center>
</body>
</html>
我建议先别照你们的项目 你找个简单的例子 自己建一个表2,3个字段 等你CRUD都会了再去套你们的项目
初学struts2的飘过
看代码貌似不太难哦