//多表新增先新增没有外键的表,再新增有外键的表
Sql语句:
private String insert="insert into SYS_TargetPrimeCostDetail(Status,Establish,
CreatorTime,BudgetAuditor,CreationTime)values(?,?,?,?,?)";
private String insert_set="Insert into B_SetBudget(SetBudgetName,BudgetStageID,
VersionsCode,VersionsName,DepartmentID,UnitEngineeringID,BudgetTypeID,PrimeCostDetailID)values(?,?,?,?,?,?,?,?)";
方法:
@Override
publicboolean insert(TargetPrimeCostDetailPo tar){
boolean returnA = false;
try {
con=DBUtil.getConnection();
ps=con.prepareStatement(insert,Statement.RETURN_GENERATED_KEYS);//
Statement.RETURN_GENERATED_KEYS写上这一句返回新增这条数据的主键
ps.setString(1, tar.getStatus());
ps.setString(2, tar.getEstablish());//创建人
ps.setString(3, tar.getBudgetAuditor());//审核人
ps.setString(4, tar.getCreatorTime());//创建时间
ps.setString(5, tar.getCreationTime());//审核时间
if (ps.executeUpdate() > 0) {//执行executeUpdate操作数据
增删改用executeUpdate,查询用executeQuery
returnA= true;
}
rs = ps.getGeneratedKeys();//获取返回的数据集
if (rs.next()) {
int id=rs.getInt(1);//
ps=con.prepareStatement(insert_set)
//给占位符赋值
ps.setString(1, tar.getSetBudgetName());
ps.setInt(2, tar.getBudgetStageID());
ps.setString(3, tar.getVersionsCode());
ps.setString(4, tar.getVersionsName());
ps.setInt(5, tar.getDepartmentID());
ps.setInt(6, tar.getUnitEngineeringID());
ps.setInt(7, tar.getBudgetTypeID());//下拉框
ps.setInt(8,id);//上面那张表的主键ID
ps.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtil.close(con, ps, rs);
}
return returnA;
}
// 新增
publicvoid inserthuizo(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 获取页面name值的参数
String SetBudgetName =request.getParameter("SetBudgetName01"); String BudgetStageID01 =request.getParameter("BudgetStageID01");
String VersionsCode =request.getParameter("VersionsCode");//
String VersionsName =request.getParameter("VersionsName");
String DepartmentID =request.getParameter("DepartmentID");//
String UnitEngineeringID =request.getParameter("UnitEngineeringID01");
String BudgetTypeID =request.getParameter("BudgetTypeID01");
String DepartmentID01 =request.getParameter("DepartmentID01");//
String Status01 = request.getParameter("Status01");
String Establish = request.getParameter("Establish");//
String CreatorTime =request.getParameter("CreatorTime");
String BudgetAuditor =request.getParameter("BudgetAuditor");
String CreationTime =request.getParameter("CreationTime");//
给po设置获取到的name值参数:
TargetPrimeCostDetailPo tar = new TargetPrimeCostDetailPo();
tar.setSetBudgetName(SetBudgetName);
tar.setVersionsCode(VersionsCode);
tar.setVersionsName(VersionsName);
tar.setStatus(Status01);
tar.setEstablish(Establish);
tar.setCreatorTime(CreatorTime);
tar.setBudgetAuditor(BudgetAuditor);
tar.setCreationTime(CreationTime);
if(Tools.isNum(DepartmentID01)){
tar.setDepartmentID(Integer.valueOf(DepartmentID01));
}
判断上面获取到的定义为字符串的name值,能不能变成数字
if(Tools.isNum(BudgetStageID01)){
tar.setBudgetStageID(Integer.valueOf(BudgetStageID01));
}
if(Tools.isNum(BudgetTypeID)){
tar.setBudgetTypeID(Integer.valueOf(BudgetTypeID));
}
if(Tools.isNum(DepartmentID)){
tar.setDepartmentID(Integer.valueOf(DepartmentID));
}
if(Tools.isNum(UnitEngineeringID)){
tar.setUnitEngineeringID(Integer.valueOf(UnitEngineeringID));
}
TargetPrimeCostDetailService SetBudget = new TargetPrimeCostDetailServiceImpl(); booleansuccess=SetBudget.insert(tar);把对象传过去
if(success) {//判断是否成功
用session来提示
request.getSession().setAttribute("strMsg", "新增成功");
} else {
request.getSession().setAttribute("strMsg", "新增失败");
}
response.sendRedirect("../jsp/Budgetgather.jsp");//..代表上一级文件
}
Jsp页面:
用form表单提交name值的数据去servlet
<form action="${ctx}/servlet/BudgetgatherServlet" method="post">
<input style="display: none" name="type"value="inserthuizo">
定义value值的inserthuizo方法,去servlet写一个新增的方法
然后来 From表单里面设置好name值,在servlet去获取这里的name值
</form>
<script type="text/javascript">
var strMsg="${sessionScope.strMsg}";//获取session里的strmsg
if (strMsg!="") {//判断如果不是空的就执行alert提示,
alert(strMsg);
}
</script>
<c:remove var="strMsg"scope="session"/>//把session中的strMsg移除调,避免刷新页面之后弹出窗。移除了以后,刷新列表就不会弹出窗了
Sql语句:
private String insert="insert into SYS_TargetPrimeCostDetail(Status,Establish,
CreatorTime,BudgetAuditor,CreationTime)values(?,?,?,?,?)";
private String insert_set="Insert into B_SetBudget(SetBudgetName,BudgetStageID,
VersionsCode,VersionsName,DepartmentID,UnitEngineeringID,BudgetTypeID,PrimeCostDetailID)values(?,?,?,?,?,?,?,?)";
方法:
@Override
publicboolean insert(TargetPrimeCostDetailPo tar){
boolean returnA = false;
try {
con=DBUtil.getConnection();
ps=con.prepareStatement(insert,Statement.RETURN_GENERATED_KEYS);//
Statement.RETURN_GENERATED_KEYS写上这一句返回新增这条数据的主键
ps.setString(1, tar.getStatus());
ps.setString(2, tar.getEstablish());//创建人
ps.setString(3, tar.getBudgetAuditor());//审核人
ps.setString(4, tar.getCreatorTime());//创建时间
ps.setString(5, tar.getCreationTime());//审核时间
if (ps.executeUpdate() > 0) {//执行executeUpdate操作数据
增删改用executeUpdate,查询用executeQuery
returnA= true;
}
rs = ps.getGeneratedKeys();//获取返回的数据集
if (rs.next()) {
int id=rs.getInt(1);//
ps=con.prepareStatement(insert_set)
//给占位符赋值
ps.setString(1, tar.getSetBudgetName());
ps.setInt(2, tar.getBudgetStageID());
ps.setString(3, tar.getVersionsCode());
ps.setString(4, tar.getVersionsName());
ps.setInt(5, tar.getDepartmentID());
ps.setInt(6, tar.getUnitEngineeringID());
ps.setInt(7, tar.getBudgetTypeID());//下拉框
ps.setInt(8,id);//上面那张表的主键ID
ps.executeUpdate();
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtil.close(con, ps, rs);
}
return returnA;
}
// 新增
publicvoid inserthuizo(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 获取页面name值的参数
String SetBudgetName =request.getParameter("SetBudgetName01"); String BudgetStageID01 =request.getParameter("BudgetStageID01");
String VersionsCode =request.getParameter("VersionsCode");//
String VersionsName =request.getParameter("VersionsName");
String DepartmentID =request.getParameter("DepartmentID");//
String UnitEngineeringID =request.getParameter("UnitEngineeringID01");
String BudgetTypeID =request.getParameter("BudgetTypeID01");
String DepartmentID01 =request.getParameter("DepartmentID01");//
String Status01 = request.getParameter("Status01");
String Establish = request.getParameter("Establish");//
String CreatorTime =request.getParameter("CreatorTime");
String BudgetAuditor =request.getParameter("BudgetAuditor");
String CreationTime =request.getParameter("CreationTime");//
给po设置获取到的name值参数:
TargetPrimeCostDetailPo tar = new TargetPrimeCostDetailPo();
tar.setSetBudgetName(SetBudgetName);
tar.setVersionsCode(VersionsCode);
tar.setVersionsName(VersionsName);
tar.setStatus(Status01);
tar.setEstablish(Establish);
tar.setCreatorTime(CreatorTime);
tar.setBudgetAuditor(BudgetAuditor);
tar.setCreationTime(CreationTime);
if(Tools.isNum(DepartmentID01)){
tar.setDepartmentID(Integer.valueOf(DepartmentID01));
}
判断上面获取到的定义为字符串的name值,能不能变成数字
if(Tools.isNum(BudgetStageID01)){
tar.setBudgetStageID(Integer.valueOf(BudgetStageID01));
}
if(Tools.isNum(BudgetTypeID)){
tar.setBudgetTypeID(Integer.valueOf(BudgetTypeID));
}
if(Tools.isNum(DepartmentID)){
tar.setDepartmentID(Integer.valueOf(DepartmentID));
}
if(Tools.isNum(UnitEngineeringID)){
tar.setUnitEngineeringID(Integer.valueOf(UnitEngineeringID));
}
TargetPrimeCostDetailService SetBudget = new TargetPrimeCostDetailServiceImpl(); booleansuccess=SetBudget.insert(tar);把对象传过去
if(success) {//判断是否成功
用session来提示
request.getSession().setAttribute("strMsg", "新增成功");
} else {
request.getSession().setAttribute("strMsg", "新增失败");
}
response.sendRedirect("../jsp/Budgetgather.jsp");//..代表上一级文件
}
Jsp页面:
用form表单提交name值的数据去servlet
<form action="${ctx}/servlet/BudgetgatherServlet" method="post">
<input style="display: none" name="type"value="inserthuizo">
定义value值的inserthuizo方法,去servlet写一个新增的方法
然后来 From表单里面设置好name值,在servlet去获取这里的name值
</form>
<script type="text/javascript">
var strMsg="${sessionScope.strMsg}";//获取session里的strmsg
if (strMsg!="") {//判断如果不是空的就执行alert提示,
alert(strMsg);
}
</script>
<c:remove var="strMsg"scope="session"/>//把session中的strMsg移除调,避免刷新页面之后弹出窗。移除了以后,刷新列表就不会弹出窗了