Spring Jdbc Template CRUD



Spring Jdbc Template CRUD



執行insert update delete操作

template.execute("updatet_user set sex='女'"); 用execute執行不可以有?的形式

 


jdbctemplate.update("INSERT INTOt_user VALUES(NULL,?,?,?)", "wbc", 27, "女");

用update來執行可以用?來代替要輸入的值,在sql語句後面添加就可以了,要和數據庫中的類型相對應,

 


執行select,重點會以下兩種方法, 類似於dbutil中的方法


User user = jdbctemplate.queryForObject("SELECT* FROM t_user where id=1",newBeanPropertyRowMapper<User>(User.class));

用BeanPropertyRowMapper來完成bean的封裝,用queryForObject方法,可以封裝一個數據對象

 

List<User> user = jdbctemplate.query("SELECT * FROM t_user ",

new BeanPropertyRowMapper<User>(User.class));

用query可以查詢出一個list列表,像dbuitl中BeanlistHedler();  queryForObject可以查詢出一個對象,像dbuitl中BeanHedler()

 

 

Spring 事務管理

事務管理(ACID)

原子性:想象成原子的特性不可分割

一致性:事務要麼一起成功,要那麼一起失敗

隔離性:事務一個在執行的時候,將其他的事務隔離開來

序列化:將數據序列化到磁盤上面去

 


不考慮事務會發生以下的事情.

髒讀:一方讀到另一方未提交的的數據

不可重複讀:一方讀到另一方已經提交的數據導致,兩次數據不一樣(update)

虛讀:一方讀到另一方已經提交的數據導致,兩次數據不一樣(insert)

 


設置隔離級別來解決上述問題

Oracle: read_commit

Mpsql: readtable_read

Hibernate:readtable_read




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章