我正在尝试使用My batis中的存储过程在数据库中插入或更新数据,但查询已成功运行,但数据未插入数据库中。你可以帮帮我吗。
下面是mapper.xml中的调用存储过程:
<select id="saveExaminations" resultMap="examinationForm">
{call SaveExaminationForms(12,31,null, 1, 100.00,0,0, 1, 0, 1, 1, 1, 1, 1, 1000001,0,1,123456,0,1,BCA,0000000003,2011,
fraud,allahabad,null,Hindi,1,2,1,8)}
</select>
下面的是mapper.xml中的resultmap
<resultMap id="examinationForm" type="ExaminationForm">
<result property="id" column="EXAMINATIONFORM_ID"/>
<result property="studentId" column="EXAMINATIONFORM_STUDENTID"/>
<result property="examinationId" column="EXAMINATIONFORM_EXAMINATIONID"/>
<result property="isSubmitted" column="EXAMINATIONFORM_ISSUBMITTED"/>
<result property="feeAmount" column="EXAMINATIONFORM_FEEAMOUNT"/>
<result property="paymentTypeId" column="EXAMINATIONFORM_PAYMENTTYPEID"/>
<result property="bankId" column="EXAMINATIONFORM_BANKID"/>
<result property="isClass10CertAttached" column="EXAMINATIONFORM_ISCLASS10CERTATTACHED"/>
<result property="isClass12CertAttached" column="EXAMINATIONFORM_ISCLASS12CERTATTACHED"/>
<result property="isUGCertAttached" column="EXAMINATIONFORM_ISUGCERTATTACHED"/>
<result property="isPGCertAttached" column="EXAMINATIONFORM_ISPGCERTATTACHED"/>
<result property="isReservationCategoryCertAttached" column="EXAMINATIONFORM_ISRESERVATIONCATEGORYCERTATTACHED"/>
<result property="isDomicileCertAttached" column="EXAMINATIONFORM_ISDOMICILECERTATTACHED"/>
<result property="isMigrationCertAttached" column="EXAMINATIONFORM_ISMIGRATIONCERTATTACHED"/>
<result property="MigrationCertificateNo" column="EXAMINATIONFORM_MIGRATIONCERTIFICATENO"/>
<result property="isBankChallanAttached" column="EXAMINATIONFORM_ISBANKCHALLANATTACHED"/>
<result property="isEmployerNOCAttached" column="EXAMINATIONFORM_ISEMPLOYERNOCATTACHED"/>
<result property="EmployerNOCNumber" column="EXAMINATIONFORM_EMPLOYERNOCNUMBER"/>
<result property="isAnyOtherAttachment" column="EXAMINATIONFORM_ISANYOTHERATTCHMENT"/>
<result property="wasPunishedForUFM" column="EXAMINATIONFORM_WASPUNISHEDFORUFM"/>
<result property="uFMExamName" column="EXAMINATIONFORM_UFMEXAMNAME"/>
<result property="uFMRollNo" column="EXAMINATIONFORM_UFMROLLNO"/>
<result property="uFMYear" column="EXAMINATIONFORM_UFMYEAR"/>
<result property="uFMPunishmentDetails" column="EXAMINATIONFORM_UFMPUNISHMENTDETAILS"/>
<result property="uFMCentreName" column="EXAMINATIONFORM_UFMCENTRENAME"/>
<result property="otherDegreeParticulars" column="EXAMINATIONFORM_OTHERDEGREEPARTICULARS"/>
<result property="mediumOfExamination" column="EXAMINATIONFORM_MEDIUMOFEXAMINATION"/>
<result property="candidateCategory" column="EXAMINATIONFORM_CANDIDATECATEGORY"/>
<result property="createdDate" column="EXAMINATIONFORM_CREATEDDATE"/>
<result property="sessionYearId" column="EXAMINATIONFORM_SESSIONYEARID"/>
<result property="classId" column="EXAMINATIONFORM_CLASSID"/>
<result property="courseId" column="EXAMINATIONFORM_COURSEID"/>
<result property="subjectName" column="EXAMINATIONFORM_SUBJECTNAME"/>
</resultMap>
我的dao文件中的代码
public void saveExaminations() throws PersistenceException{
SqlSession session = sf.openSession();
try{
System.out.println("Before calling save procedure in dao file :");
System.out.println("output of save : " + session.insert("saveExaminations"));
System.out.println("after calling save procedure in dao file:");
}catch(Exception e ){
System.out.println("error in executing submit data");
}
finally{
session.close();
}
}
任何人都知道为什么在调用saveExaminations()之后这个数据没有插入db中。
答案 0 :(得分:1)
SqlSession session = sf.openSession();
不会创建自动提交会话。
创建一个用途
SqlSession session = sf.openSession(true);
或者最后使用session.commit()
。