生活随笔
收集整理的這篇文章主要介紹了
Mybatis增删改
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【增】
【1、在接口中寫一個用來新增的接口】public void insertUser(User us) ;【2、分別用兩種不同的形式來實現新增的功能,如下】 public static void addUser(){ SqlSession session = sf.openSession() ; User us = new User() ; us.setName("YaoMing"); us.setNumber("11"); us.setPosition("中鋒"); us.setTeam("休斯敦火箭"); int iCount = session.insert("com.crayon.test.IMyBatis.insertUser",us) ; session.commit(); System.out.println("成功新增"+iCount+"條記錄"); } public static void addUserInterface(){ SqlSession session = sf.openSession() ; User us = new User() ; us.setName("YaoMing"); us.setNumber("11"); us.setPosition("中鋒"); us.setTeam("休斯敦火箭"); IMyBatis ib = session.getMapper(IMyBatis.class) ; ib.insertUser(us); session.commit(); System.out.println("新增成功!"); }然后直接在main函數中調用方法即可。這里需要注意的是自己在做學習測試的時候按照這樣做可能會出現下面這種情況:執行新增方法之后對應的中文字段是以?的形式插入到數據庫中,這個問題怎么解決呢
如下,找到你的配置數據庫連接的地方,然后做如下修改:
然后再試一下,發現成功了。
對于新加的那一段代碼,有一個需要注意的?如果寫成
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatistest?useUnicode=true&characterEncoding=utf8" />這樣的話就可能拋出
如下的異常信息:Error?creating?document?instance.??Cause:?org.xml.sax.SAXParseException;?lineNumber:?15;?columnNumber:?106;?對實體?"characterEncoding"?的引用必須以?';'?分隔符結尾。??
通過檢查,發現了xml文件中對于url值的設置的時候?后面的參數之間是用“&”連接的,而在xml中這些特殊字符是需要轉義的。那么通常對應的轉義字符如下:
< | < | 小于號 |
> | > | 大于號 |
& | & | 和 |
' | ’ | 單引號 |
" | " | 雙引號 |
【刪】
【1、在接口中新增一個接口】 @Delete("delete from user where id =#{id}") public void deleteUser(int id);【2、在測試類中寫一個刪除方法】 public static void deleteUser(){ SqlSession session = null ; try { session = sf.openSession(); IMyBatis ib = session.getMapper(IMyBatis.class) ; ib.deleteUser(14) ; session.commit(); System.out.println("刪除成功!"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }【3、在main函數中調用刪除方法即可實現想要的效果】【改】
一個根據id查找的接口
@Select("select * from user where id =#{id}") public User getUserById(int id) ;一個更新的接口
@Update("update user set name=#{name},team=#{team},position=#{position},number=#{number} where id=#{id}") public void updateUser(User us) ;在測試類中做如下代碼測試:
public static User getUserByID(int id) { SqlSession session = null ; try { session = sf.openSession() ; IMyBatis ib = session.getMapper(IMyBatis.class) ; User us = ib.getUserById(id) ; return us ; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null ; } public static void updateUser(User us){ SqlSession session = null ; try { session = sf.openSession() ; IMyBatis ib = session.getMapper(IMyBatis.class ) ; us.setName("易建聯"); us.setNumber("9"); us.setTeam("雄鹿"); us.setPosition("大前鋒"); ib.updateUser(us); session.commit(); System.out.println("更新成功"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { //查看user信息 //getUserList() ; //deleteUser() ; //新增用戶信息 //addUser() ; User u = getUserByID(15); updateUser(u); }來自為知筆記(Wiz)
轉載于:https://www.cnblogs.com/yaoxiaoxing/p/5446884.html
總結
以上是生活随笔為你收集整理的Mybatis增删改的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。