Java多表新增

//新增先新增没有外键的表,再新增有外键的表

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

    public boolean 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;

    }

 

                   // 新增

                   public void 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();                           boolean success=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移除调,避免刷新页面之后弹出窗。移除了以后,刷新列表就不会弹出窗了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值