亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mybatis入門(mén)教程之新增、更新、刪除功能

 更新時(shí)間:2017年02月21日 14:33:44   作者:mylydg  
這篇文章給大家介紹了Mybatis進(jìn)行基本的增刪改操作,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下

上一節(jié)說(shuō)了Mybatis的框架搭建和簡(jiǎn)單查詢,這次我們來(lái)說(shuō)一說(shuō)用Mybatis進(jìn)行基本的增刪改操作;

 一、 插入一條數(shù)據(jù)

1、首先編寫(xiě)USER.XML(表的xml)使用insert元素,元素寫(xiě)在mapper中:

<insert id="insertitem" parameterType="cn.qkp.po.user">
INSERT INTO user(username,birthday,sex,address) VALUES(#{username},#{ birthday},#{sex},#{address})
</insert>

注意:這里的parameterType使用了實(shí)體對(duì)象的類型。因?yàn)?{}和${}可以接收pojo數(shù)據(jù),可以使用OGNL解析出pojo的屬性值;如:#{username}為獲取pojo中username的屬性值,切記使用實(shí)體對(duì)象類型,在大括號(hào)中要保持?jǐn)?shù)據(jù)一致;

2、在運(yùn)行java文件中的代碼(MybatisFrist.java中):

 @Test
 public void start3(){
  SqlSession session = sqlsessionfactory.openSession();//打開(kāi)SqlSession
  User user = new User();//創(chuàng)建實(shí)體對(duì)象
  user.setUsername("mylydg");
  user.setSex("1");
  user.setBirthday(new Date());
  session.insert("test.insertUser", user);//執(zhí)行插入
  session.commit();//提交事務(wù)
  session.close();//關(guān)閉連接
 }

以上便是基本的數(shù)據(jù)插入操作,使用對(duì)象來(lái)操作Mybatis進(jìn)行插入;

PS:拓展(如何獲得插入數(shù)據(jù)的主鍵返回)?

看如下代碼操作:

1.1、在insert元素中使用selectKey元素

<insert id="insertitem" parameterType="cn.qkp.pojo.user">
<!-- 1、語(yǔ)句select LAST_INSERT_ID()為查找最后插入元素的id
  2、order屬性表示相對(duì)insert語(yǔ)句在什么時(shí)候執(zhí)行,有兩個(gè)參數(shù)"AFTER"之后和"BEFORE"之前
  3、resultType屬性表示返回值的類型
  4、keyProperty表示返回到的屬性,切記要與insert中的parameterType類型的值相同,它會(huì)把值返回給parameterType對(duì)象
 -->
<selectKey order="AFTER" resultType="int" keyProperty="id"> 
select LAST_INSERT_ID()
</selectKey>

1.2、在運(yùn)行java文件中的代碼(MybatisFrist.java中)直接通過(guò)之前傳入的對(duì)象的user.Id獲得即可

@Test
 public void start3(){
  SqlSession session = sqlsessionfactory.openSession();//打開(kāi)SqlSession
  User user = new User();//創(chuàng)建實(shí)體對(duì)象
  user.setUsername("mylydg");
  user.setSex("1");
  user.setBirthday(new Date());
  session.insert("test.insertUser", user);//執(zhí)行插入
  session.commit();//提交事務(wù)
  session.close();//關(guān)閉連接
  System.out.println("the id ="+user.getId());//獲得主鍵并打印
 }

二、更新數(shù)據(jù)操作

1、在表xml(user.xml,寫(xiě)在mapper中):

 <update id="update" parameterType="cn.qkp.mybatis.po.User">
 update user set username = #{username},sex = #{sex},birthday = #{birthday},address = #{address} where id=#{id}
 </update>

2、在運(yùn)行java文件中的代碼(MybatisFrist.java中):

 @Test
 public void update(){
  //通過(guò)工廠類打開(kāi)數(shù)據(jù)接口
  SqlSession sqlsession = sqlsessionfactory.openSession();
  //設(shè)置接收對(duì)象
  User user = new User();;
  user.setUsername("mylydg");
  user.setSex("1");
  user.setBirthday(new Date());
  user.setAddress("the address");
  user.setId(27);
  try {
   //查詢數(shù)據(jù)selectOne為查詢一條的方法第一個(gè)參數(shù)是user.xml中的namespace.id;第二個(gè)參數(shù)是user配置文件中的#{id}
   sqlsession.update("test.update", user);
   sqlsession.commit();
  } catch (Exception e) {
   // TODO: handle exception
  }finally{
   sqlsession.close();//讀完要關(guān)閉sqlsession
  }
   System.out.println("the id ="+user.getId());//打印輸出
 }

運(yùn)行方法后,則可以更新指定id的一條數(shù)據(jù)

三、刪除一條數(shù)據(jù)的操作

1、在表xml文件(user.xml,寫(xiě)在mapper中):

 <delete id="delete" parameterType="int">
 delete from user where id = #{id}
 </delete>

2、在運(yùn)行java文件中的代碼(MybatisFrist.java中):

 @Test
 public void delete(){
  //通過(guò)工廠類打開(kāi)數(shù)據(jù)接口
  SqlSession sqlsession = sqlsessionfactory.openSession();
  try {
   //查詢數(shù)據(jù)selectOne為查詢一條的方法第一個(gè)參數(shù)是user.xml中的namespace.id;第二個(gè)參數(shù)是user配置文件中的#{id}
   sqlsession.delete("test.delete", 27);
   sqlsession.commit();
  } catch (Exception e) {
   // TODO: handle exception
  }finally{
   sqlsession.close();//讀完要關(guān)閉sqlsession
  }

運(yùn)行方法后便可以刪除指定id的一條數(shù)據(jù)。

以上所述是小編給大家介紹的Mybatis入門(mén)教程之新增、更新、刪除功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • java遞歸設(shè)置層級(jí)菜單的實(shí)現(xiàn)

    java遞歸設(shè)置層級(jí)菜單的實(shí)現(xiàn)

    本文主要介紹了java遞歸設(shè)置層級(jí)菜單的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • JPA之EntityManager踩坑及解決:更改PersistenceContext

    JPA之EntityManager踩坑及解決:更改PersistenceContext

    這篇文章主要介紹了JPA之EntityManager踩坑及解決:更改PersistenceContext方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 使用java反射將結(jié)果集封裝成為對(duì)象和對(duì)象集合操作

    使用java反射將結(jié)果集封裝成為對(duì)象和對(duì)象集合操作

    這篇文章主要介紹了使用java反射將結(jié)果集封裝成為對(duì)象和對(duì)象集合操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • java泛型學(xué)習(xí)示例

    java泛型學(xué)習(xí)示例

    Java泛型(Generics)是JDK5開(kāi)始引入的一個(gè)新特性,允許在定義類和接口的時(shí)候使用類型參數(shù)(Type Parameter)。下面是學(xué)習(xí)泛型的示例
    2014-04-04
  • Java獲取最后插入MySQL記錄的自增ID值的3種方法

    Java獲取最后插入MySQL記錄的自增ID值的3種方法

    這篇文章介紹了Java獲取最后插入MySQL記錄的自增ID值的3種方法,有需要的朋友可以參考需要
    2013-08-08
  • 如何在SpringBoot中使用logback優(yōu)化異常堆棧的輸出詳解

    如何在SpringBoot中使用logback優(yōu)化異常堆棧的輸出詳解

    最近項(xiàng)目中整合了logback,所以下面這篇文章主要給大家介紹了關(guān)于如何在SpringBoot中使用logback優(yōu)化異常堆棧的輸出,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • SpringBoot Data JPA 關(guān)聯(lián)表查詢的方法

    SpringBoot Data JPA 關(guān)聯(lián)表查詢的方法

    這篇文章主要介紹了SpringBoot Data JPA 關(guān)聯(lián)表查詢的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Java的延遲隊(duì)列之DelayQueue解讀

    Java的延遲隊(duì)列之DelayQueue解讀

    這篇文章主要介紹了Java的延遲隊(duì)列之DelayQueue解讀,DelayQueue的底層存儲(chǔ)是一個(gè)PriorityQueue,PriorityQueue是一個(gè)可排序的Queue,其中的元素必須實(shí)現(xiàn)Comparable接口的compareTo方法,需要的朋友可以參考下
    2023-12-12
  • 教你Spring如何使用三級(jí)緩存解決循環(huán)依賴

    教你Spring如何使用三級(jí)緩存解決循環(huán)依賴

    這篇文章主要介紹了Spring使用三級(jí)緩存解決循環(huán)依賴的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • springboot prototype設(shè)置多例不起作用的解決操作

    springboot prototype設(shè)置多例不起作用的解決操作

    這篇文章主要介紹了springboot prototype設(shè)置多例不起作用的解決操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09

最新評(píng)論