前面已經講到用介面的方式程式設計。這種方式,要注意的乙個地方就是。在user.xml 的配置檔案中,
"com.fjh.inter.usermap"
命名空間非常重要,不能有錯,必須與我們定義的package 和 介面一致。如果不一致就會出錯,
這一章主要在上一講基於介面程式設計的基礎上完成如下事情:
1. 用 mybatis 查詢資料,包括列表
2. 用 mybatis 增加資料.
3. 用 mybatis 更新資料.
4. 用 mybatis 刪除資料.
1、返回集合型別
查詢資料,前面已經講過簡單的,主要看查詢出列表的
查詢出列表,也就是返回list, 在我們這個例子中也就是
list , 這種方式返回資料,
需要在user.xml 裡面配置返回的型別 resultmap, 注意不是 resulttype,
而這個resultmap 所對應的應該是我們自己配置的
type
="user"
id="resultlistuser"
>
column
="id"
property
="id"
/>
column
="username"
property
="username"
/>
column
="userage"
property
="userage"
/>
column
="useraddress"
property
="useraddress"
/>
resultmap
>
"getuserbyname"
parametertype
="string"
resultmap
="resultlistuser"
>
select * from user where username like #
select
>
在介面類中新增方法:
呼叫測試
//根據配置檔案user.xml中的id去獲取相應的sql語句
usermap usermanager =
(usermap)sqlsession.
(usermap.
class);
list
users = usermanager.
getuserbyname
("%"
+ name +
"%")
;
2、插入新的資料
在 usermap 介面中增加方法:public void adduser(user user);
在 user.xml 中配置
"adduser"
parametertype
="user"
usegeneratedkeys
="true"
keyproperty
="id"
>
insert into user(username,userage,useraddress)
values(#,#,#)
insert
>
測試呼叫
sqlsession sqlsession = sqlsessionfactory.
opensession()
;try
catch
(exception e)
注意關於主鍵的生成方式,oracle沒有自動生成策略那麼應該使用
test_squ.nextval 序列的名字
"insertauthor"
parametertype
="domain.blog.author"
>
keyproperty
="id"
resulttype
="int"
order
="before"
>
select test_squ.nextval from dual
selectkey
>
insert into user(username,userage,useraddress)
values(#,#,#)
insert
>
3、修改資料
在介面中定義方法:updateuser();
修改user.xml
"updateuser"
parametertype
="user"
>
update user set username=#,userage=#,
useraddress=# where id=#
update
>
測試:
/**
修改使用者
@param user
**/static
void
updateuser
(user user)
catch
(exception e)
}
4、刪除使用者
在usermap介面中定義方法 public void deleteuser(int id);方法的名和user.xm中定義的update節點中id要一樣
"deleteuser"
parametertype
="int"
>
delete from user where id=#
delete
>
sqlsession sqlsession = sqlsessionfactory.
opensession()
;try
catch
(exception e)
mybatis 增刪改查
namespace 命名空間 指定為介面的全類名 id 唯一標識 resulttype 返回值型別 從傳遞過來的引數中取出id值 public employee getempbyid integer id select from employee where id insert into emplo...
Mybatis增刪改查
1 編寫介面 根據id查詢使用者 user getuserbyid int id 增加乙個使用者 intadduser user user 修改使用者 intupdateuser user user 刪除乙個使用者 intdeleteuser int id 根據id查詢使用者 getuserbyid...
MyBatis增刪改查
mybatis的簡介 mybatis 本是apache 的乙個開源專案ibatis 2010年這個專案由apache software foundation 遷移到了google code,並且改名為mybatis 2013年11月遷移到github。ibatis是半orm對映框架,它需要在資料庫裡...