學習筆記 Mybatis(二)

2022-09-13 19:51:11 字數 2928 閱讀 7964

基本的增刪改查:

實體類(對映資料庫表)–>mybatis-config.xml檔案(配置資料庫,別名,以及配置對映規則)–>實體類配置檔案(執行相應的資料庫語句)–>測試類

實體類配置檔案:

<?xml version="1.0" encoding="utf-8"?>

namespace="com.bean">

id="addcategory"

parametertype="category">

insert into category_(name) values (#)

insert>

id="deletecategory"

parametertype="category">

delete from category_ where id= #

delete>

id="getcategory"

parametertype="_int"

resulttype="category">

select * from category_ where id=#

select>

id="updatecategory"

parametertype="category">

update category_ set name=# where id=#

update>

id="listcategory"

resulttype="category">

select * from category_

select>

parametertype的用法:

1.基本資料型別,如輸入引數只有乙個,其資料型別可以是基本的資料型別,也可以是自己定的類型別。包括int,string,integer,date,如下:

(1)根據id進行相應的刪除:

(2)新增員工:

2.複雜資料型別:包含j**a實體類,map。

另外mybatis還提供了乙個使用註解來參入多個引數的方式。這種方式需要在介面的引數上新增@param註解

/**

* 此處要注意的是,由於該方法需要傳入多個引數,在進行mybatis配置時,

* 沒有辦法同時配置多個引數,另外mybatis還提供了乙個使用註解來參入

* 多個引數的方式。這種方式需要在介面的引數上新增@param註解。。

* 注意,以下兩種寫法是完全相同的。但使用的時候要使用第一種型別

*/userlogin(@param(value=」name」)stringname,@param(value=」password」)string password );

// user login(string name,string password);

配置如下:

select * from us where name=# and password=#

select>

注:不同版本的mybatis對基本型別傳遞過來的引數名稱不能識別,要使用_parameter來代替。

select from win_log where eventid = #

3.獲取引數中的值:

1.基本資料型別:#獲取引數中的值

2.複雜資料型別:#,map中則是#

測試類:

public

class testmybatis

private

static

void

listall(sqlsession session)

}}

模糊查詢:

實體類配置檔案:

id="listcategorybyname"

parametertype="string"

resulttype="category">

select * from category_ where name like concat('%',#,'%')

select>

測試**:

listcs = session.selectlist("listcategorybyname", "cat");

for (category c1 : cs)

多條件查詢:

結合前面的模糊查詢,多乙個id>多少的條件

1. category.xml 準備sql語句

resulttype="category">

select * from category_ where id> # and name like concat('%',#,'%')

select>

測試**

因為是多個引數,而selectlist方法又只接受乙個引數物件,所以需要把多個引數放在map裡,然後把這個map物件作為引數傳遞進去

map

<

string, object>

params

=new hashmap<>();

params

.put("id", 0);

params

.put("name", "cat");

list

cs = session.selectlist("listcategorybyidandname", params);

for (category c1 : cs)

Mybatis學習筆記(二)

上一章節中,我們已經搭建玩了最簡單的能夠執行的helloworld環境,這一章將把上章中的操作方式改為以介面的方式操作 我們可以發現在上乙個章節中 public static void testbasicquery intid catch exception e namespace com.yy.d...

MyBatis學習筆記二

建立mybatisutils工具類 public class mybatisutils catch ioexception e public static sqlsession getsqlsession return session public class servantdaoimpl impl...

學習筆記之mybatis 二

的開發方法。需要傳入配置檔案中的標籤方法。很不方便。需要通過介面 的方法便可去除sql方法標籤 1.先建立乙個介面,實現的方法為所有想要實現的功能的方法 3.實現乙個繼承方法介面的類。以乙個查詢方法來實現 select from mb test where id 4.再實現類中的方法沒什麼不同 建立...