java 多表_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

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

定义value值的inserthuizo方法,去servlet写一个新增的方法

然后来 From表单里面设置好name值,在servlet去获取这里的name值

var strMsg="${sessionScope.strMsg}";//获取session里的strmsg

if (strMsg!="") {//判断如果不是空的就执行alert提示,

alert(strMsg);

}

//把session中的strMsg移除调,避免刷新页面之后弹出窗。移除了以后,刷新列表就不会弹出窗了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值