最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何簡(jiǎn)單使用mybatis注解

 更新時(shí)間:2021年06月03日 10:29:16   作者:時(shí)年君  
之前我們介紹了使用JDBC或者java框架mabatis來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,現(xiàn)在為了簡(jiǎn)化代碼,提高程序的簡(jiǎn)潔性,我們探索如何使用注解進(jìn)行開發(fā),需要的朋友可以參考下

使用注解開發(fā)

本質(zhì):反射機(jī)制實(shí)現(xiàn)
底層:動(dòng)態(tài)代理

1、注解在接口上的實(shí)現(xiàn)

public interface UserMapper {
    @Select("select * from user")
    List<User> getUsers();
}

2、使用注解時(shí),需要在核心配置文件中綁定接口

 <mappers>
        <mapper class="com.xiao.dao.UserMapper"/>
    </mappers>

3、測(cè)試使用

public class UserMapperTest {
    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //底層主要靠反射實(shí)現(xiàn)
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> users = mapper.getUsers();
        for (User user : users) {
            System.out.println(user);
        }

        sqlSession.close();
    }
}

使用注解完成CRUD

只需修改接口和測(cè)試類即可。

之前在使用XML的方式進(jìn)行CRUD操作時(shí),增(insert)、改(update)、刪(delete)時(shí),都需要手動(dòng)進(jìn)行事務(wù)提交操作sqlsession.commit()。

查看openSession()的源碼

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

自動(dòng)提交

在這里插入圖片描述

查(select)

接口

  @Select("select * from user where id = #{id}")
    User getUserByID(@Param("id") int id);

測(cè)試類

public class UserMapperTest {
    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //底層主要靠反射實(shí)現(xiàn)
       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
       User userByID = mapper.getUserByID(1);
       System.out.println(userByID);
       
       sqlSession.close();
        
    }
}

增(insert)

接口

 @Insert("insert into user(id,name,pwd) value (#{id},#{name},#{password})")
    int addUser(User user);

實(shí)現(xiàn)類

public class UserMapperTest {
    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //底層主要靠反射實(shí)現(xiàn)
       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
       mapper.addUser(new User(5,"張飛","1456156"));


        sqlSession.close();
    }
}

改(update)

接口

   @Update("update user set name = #{name},pwd=#{password} where id = #{id}")
    int updateUser(User user);

測(cè)試類

public class UserMapperTest {
    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //底層主要靠反射實(shí)現(xiàn)
       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
       mapper.updateUser(new User(5,"趙云","565423"));
       sqlSession.close();
    }
}

刪(delete)

接口

@Delete("delete from user where id = #{id}")
    int deleteUser(int id);

測(cè)試類

public class UserMapperTest {
    @Test
    public void test(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //底層主要靠反射實(shí)現(xiàn)
       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
       mapper.deleteUser(5);
       sqlSession.close();
    }
}

到此這篇關(guān)于如何簡(jiǎn)單使用mybatis注解的文章就介紹到這了,更多相關(guān)mybatis注解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中ArrayList初始化的四種方法詳解

    Java中ArrayList初始化的四種方法詳解

    這篇文章主要介紹了Java中ArrayList初始化的四種方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Lambda表達(dá)式和Java集合框架

    Lambda表達(dá)式和Java集合框架

    本文主要介紹了Lambda表達(dá)式和Java集合框架的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • 關(guān)于swagger配置及踩坑@Api參數(shù)postion無(wú)效解決接口排序問(wèn)題

    關(guān)于swagger配置及踩坑@Api參數(shù)postion無(wú)效解決接口排序問(wèn)題

    這篇文章主要介紹了關(guān)于swagger配置及踩坑@Api參數(shù)postion無(wú)效解決接口排序問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • RestTemplate發(fā)送HTTP?POST請(qǐng)求使用方法詳解

    RestTemplate發(fā)送HTTP?POST請(qǐng)求使用方法詳解

    這篇文章主要為大家介紹了RestTemplate發(fā)送HTTP?POST請(qǐng)求的使用方法詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Lombok中@EqualsAndHashCode注解的使用及說(shuō)明

    Lombok中@EqualsAndHashCode注解的使用及說(shuō)明

    這篇文章主要介紹了Lombok中@EqualsAndHashCode注解的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • SpringBoot3集成ElasticSearch的方法詳解

    SpringBoot3集成ElasticSearch的方法詳解

    Elasticsearch是一個(gè)分布式、RESTful風(fēng)格的搜索和數(shù)據(jù)分析引擎,適用于各種數(shù)據(jù)類型,數(shù)字、文本、地理位置、結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù),本文給大家詳解介紹了SpringBoot3集成ElasticSearch的方法,需要的朋友可以參考下
    2023-08-08
  • Java:詳解Java中的異常

    Java:詳解Java中的異常

    這篇文章主要介紹了java中的異常,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 淺談Java中復(fù)制數(shù)組的方式

    淺談Java中復(fù)制數(shù)組的方式

    這篇文章主要介紹了Java中復(fù)制數(shù)組的幾種方法,需要的朋友可以參考下。
    2017-08-08
  • Spring你不知道的一種解耦模式

    Spring你不知道的一種解耦模式

    本文介紹一種方法,服務(wù)定位模式Service?Locator?Pattern來(lái)解決,它幫助我們消除緊耦合實(shí)現(xiàn)及其依賴性,并提出將服務(wù)與其具體類解耦
    2023-01-01
  • SpringBoot集成ShardingSphere實(shí)現(xiàn)數(shù)據(jù)庫(kù)分表

    SpringBoot集成ShardingSphere實(shí)現(xiàn)數(shù)據(jù)庫(kù)分表

    ShardingSphere?是一個(gè)開源的分布式數(shù)據(jù)庫(kù)中間件,旨在為應(yīng)用提供數(shù)據(jù)庫(kù)分片、讀寫分離、分布式事務(wù)等功能,下面我們來(lái)看看SpringBoot如何集成ShardingSphere實(shí)現(xiàn)數(shù)據(jù)庫(kù)分表吧
    2024-12-12

最新評(píng)論

信宜市| 济源市| 岳池县| 正镶白旗| 车险| 东乡县| 三穗县| 盐池县| 和硕县| 岗巴县| 山东省| 喀什市| 平远县| 南乐县| 类乌齐县| 兴和县| 丰顺县| 邓州市| 高阳县| 镇巴县| 灵丘县| 磐石市| 讷河市| 遂川县| 鄱阳县| 张家界市| 日照市| 门源| 周宁县| 诸暨市| 南宁市| 长子县| 赞皇县| 石景山区| 静乐县| 凉山| 玉林市| 册亨县| 安丘市| 临猗县| 阿图什市|