mybatis(問題1):更改操作執行了,資料庫中卻未執行
問題:更改操作執行了,資料庫中卻未執行
先說結論:十之八九你忘記提交資料庫操作了。
新增session.commit();即可解決。
問題如下:也沒有爆紅,就是執行之後,資料庫中並沒有執行對應的操作,資料未更新。
Mapper介面:
public interface EmployeeMapper {
public void updateEmployee(Employee employee);;//多條件查詢,根據年齡和部門
}Mapper對應xml檔案:
<update id="updateEmployee" parameterType="Employee">
update employee
<set>
<if test="name!=null and name!=''">
e_name=#{name},
</if>
<if test="name!=null and name!=''">
e_gender=#{gender},
</if>
<if test="name!=null and name!=''">
e_age=#{age},
</if>
</set>
where e_id=#{id}
</update>測試:
@Test
public void employeeUpdate(){
SqlSession session = MybatisUtils.getSession();
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
Employee employee= new Employee();
employee.setId(1);
employee.setAge(18);
employee.setName("張白白");
employee.setGender("女");
System.out.println(employee.toString());
mapper.updateEmployee(employee);
session.commit();
MybatisUtils.close(session);
}結果:
DEBUG [main] - ==> Preparing: update employee SET e_name=?, e_gender=?, e_age=? where e_id=?
DEBUG [main] - ==> Parameters: 張白白(String), 女(String), 18(Integer), 1(Integer)
DEBUG [main] - <== Updates: 1
相關文章
- 有問題的mybatis的sql導致對資料庫進行了批量的修改MyBatisSQL資料庫
- Java中解決多執行緒資料安全問題Java執行緒
- Jtti:如何修復Oracle資料庫執行過程的問題JttiOracle資料庫
- 震驚,程式執行一半就不執行了
- Java多執行緒中執行緒安全與鎖問題Java執行緒
- 如何解決win10系統cmd能執行javac卻不能執行java的問題Win10Java
- MyBatis執行流程MyBatis
- MyBatis SQL執行MyBatisSQL
- 執行緒中斷以及執行緒中斷引發的那些問題執行緒
- parallelStream中的執行緒安全問題Parallel執行緒
- multiprocessing多執行緒未執行執行緒
- Kettle資料庫資源庫連線執行示例資料庫
- EBS:Oracle 資料庫執行慢SQLOracle資料庫SQL
- docker 安裝執行mysql資料庫DockerMySql資料庫
- python 操作 PostgreSQL 資料庫,執行緒並行修改 5w 條資料,效能優化PythonSQL資料庫執行緒並行優化
- 模板方法中的執行緒安全問題執行緒
- lambda中stream執行緒安全的問題執行緒
- 華納雲:怎麼在Docker中執行資料庫?Docker資料庫
- 在 Kubernetes 中執行 Oracle 資料庫的新方法Oracle資料庫
- 硬碟問題導致Gbase資料庫叢集SQL任務執行效率變慢硬碟資料庫SQL
- rmdev、chdev、reducevg、exportvg和importvg命令執行了什麼操作devExportImport
- webViewDidFinishLoad 執行多次的問題WebView
- 03 執行緒安全問題執行緒
- SimpleDateFormat 執行緒安全問題ORM執行緒
- react onClick自執行問題React
- JVM筆記【1】-- 執行時資料區JVM筆記
- Laravel 資料庫佇列倒序執行Laravel資料庫佇列
- Oracle 資料庫執行提示:ORA-00054Oracle資料庫
- 大資料執行環境的執行大資料
- JUC之集合中的執行緒安全問題執行緒
- Spring中多執行緒的使用及問題Spring執行緒
- 疑問:mybatis如何自定義SQL執行時長MyBatisSQL
- 【PG執行計劃】Postgresql資料庫執行計劃統計資訊簡述SQL資料庫
- Android JNI 中的執行緒操作Android執行緒
- mybatis執行sql指令碼MyBatisSQL指令碼
- [Spring]MyBatis的執行原理SpringMyBatis
- MyBatis Generator配置及執行MyBatis
- Springboot中mybatis執行邏輯原始碼分析Spring BootMyBatis原始碼