首頁技術(shù)文章正文

MyBatis框架怎樣添加客戶?具體是怎樣操作的?

更新時間:2021-05-25 來源:黑馬程序員 瀏覽量:

1577370495235_學IT就到黑馬程序員.gif

在MyBatis的映射文件中,添加操作是通過<insert>元素來實現(xiàn)的。例如,向數(shù)據(jù)庫中的t_customer表中插入一條數(shù)據(jù)可以通過如下配置來實現(xiàn)。

<!-- 添加客戶信息 -->
<insert id="addCustomer" parameterType="com.itheima.po.Customer">
    insert into t_customer(username,jobs,phone)
    values(#{username},#{jobs},#{phone})
</insert>
在上述配置代碼中,傳入的參數(shù)是一個Customer類型,該類型的參數(shù)對象被傳遞到語句中時,#{username}會查找參數(shù)對象Customer的username屬性(#{jobs}和#{phone}也是一樣),并將其的屬性值傳入到SQL語句中。為了驗證上述配置是否正確,下面編寫一個測試方法來執(zhí)行添加操作。

在測試類MybatisTest中,添加測試方法addCustomerTest(),其代碼如下所示。

/**
 * 添加客戶
 */
@Test
public void addCustomerTest() throws Exception{        
    // 1、讀取配置文件
    String resource = "mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    // 2、根據(jù)配置文件構(gòu)建SqlSessionFactory
    SqlSessionFactory sqlSessionFactory = 
new SqlSessionFactoryBuilder().build(inputStream);
    // 3、通過SqlSessionFactory創(chuàng)建SqlSession
    SqlSession sqlSession = sqlSessionFactory.openSession();
    // 4、SqlSession執(zhí)行添加操作
    // 4.1創(chuàng)建Customer對象,并向?qū)ο笾刑砑訑?shù)據(jù)
    Customer customer = new Customer();
    customer.setUsername("rose");
    customer.setJobs("student");
    customer.setPhone("13333533092");
    // 4.2執(zhí)行SqlSession的插入方法,返回的是SQL語句影響的行數(shù)
    int rows = sqlSession.insert("com.itheima.mapper"
                + ".CustomerMapper.addCustomer", customer);
    // 4.3通過返回結(jié)果判斷插入操作是否執(zhí)行成功
    if(rows > 0){
        System.out.println("您成功插入了"+rows+"條數(shù)據(jù)!");
    }else{
        System.out.println("執(zhí)行插入操作失?。。?!");
    }
    // 4.4提交事務
    sqlSession.commit();
    // 5、關(guān)閉SqlSession
    sqlSession.close();
}

在上述代碼的第4步操作中,首先創(chuàng)建了Customer對象,并向Customer對象中添加了屬性值;然后通過SqlSession對象的insert()方法執(zhí)行插入操作,并通過該操作返回的數(shù)據(jù)來判斷插入操作是否執(zhí)行成功;最后通過SqlSesseion的commit()方法提交了事務,并通過close()方法關(guān)閉了SqlSession。

使用JUnit4執(zhí)行addCustomerTest()方法后,控制臺的輸出結(jié)果如圖1所示。

1621925434575_21.jpg

圖1 運行結(jié)果

從圖1可以看到,已經(jīng)成功插入了1條數(shù)據(jù)。為了驗證是否真的插入成功,此時查詢數(shù)據(jù)庫中的t_customer表,如圖2所示。

1621925441311_22.jpg

圖2 t_customer表

從圖2可以看出,使用MyBatis框架已成功新增了一條id為4的客戶信息。






猜你喜歡:

MyBatis框架操作數(shù)據(jù)庫有哪些步驟?

Mybatis 執(zhí)行SQL命令的完整流程

Docker與虛擬機的區(qū)別【java培訓】

MyBatis框架如何實現(xiàn)數(shù)據(jù)查詢?有幾種方法?

黑馬程序員Java培訓培訓

分享到:
在線咨詢 我要報名
和我們在線交談!