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

MyBatis特殊SQL的執(zhí)行實(shí)例代碼

 更新時(shí)間:2023年01月30日 14:17:05   作者:熱愛編程的小白白  
這篇文章主要給大家介紹了關(guān)于MyBatis特殊SQL執(zhí)行的相關(guān)資料,文中通過實(shí)例代碼和圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MyBatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1.模糊查詢

接口:

public interface SelectMapper {
    List<User> getUserByLike(@Param("mohu") String mohu);
}

SQL(錯(cuò)誤示范):

  <select id="getUserByLike" resultType="com.atguigu.mybatis.pojo.User">
        SELECT * FROM t_user WHERE   PASSWORD  LIKE  '%#{mohu}%'
    </select>

測(cè)試:

    public  void  test7(){
        SqlSessionUtils sqlSessionUtils = new SqlSessionUtils();
        SqlSession sqlSession = sqlSessionUtils.getSqlSession();
        SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
        List<User> userByLike = mapper.getUserByLike("123");
        System.out.println(userByLike);
    }

 運(yùn)行結(jié)果:

 SQL: SELECT * FROM t_user WHERE   PASSWORD  LIKE  '%?%'

因?yàn)椋?{}:相當(dāng)于參數(shù)占位符,且會(huì)對(duì)自動(dòng)傳入的數(shù)據(jù)加一個(gè)雙引號(hào),外面已經(jīng)有一層引號(hào),所以報(bào)錯(cuò)。

SQL(正確示范,以下3種都行):

  • select * from t_user where password like '%${mohu}%'
  • select * from t_user where password like concat('%',#{mohu},'%')
  • select * from t_user where password like "%"#{mohu}"%"

運(yùn)行結(jié)果:

2.批量刪除

接口:

  /**
     * 
     * @param ids
     * @return
     */
    int deleteMoreUser(@Param("ids") String ids);

SQL:

    <delete id="deleteMoreUser">
        delete from t_user where id in(${ids})
    </delete>

測(cè)試:

    public  void  test8(){
        SqlSessionUtils sqlSessionUtils = new SqlSessionUtils();
        SqlSession sqlSession = sqlSessionUtils.getSqlSession();
        SelectMapper mapper = sqlSession.getMapper(SelectMapper.class);
        int i = mapper.deleteMoreUser("1,2");
    }

表:

 運(yùn)行結(jié)果:

3.動(dòng)態(tài)設(shè)置表名  

當(dāng)有多張表時(shí),例如  VIP表  和  普通表 ,這時(shí)需要?jiǎng)討B(tài)設(shè)置表名。

接口:

List<User> getAllUser(@Param("tableName") String tableName);

SQL: 

select * from ${tableName} 

注意:不能使用 #{}

select * from #{tableName} 

因?yàn)?{} 會(huì)自動(dòng)添加單引號(hào),就變成了:

select * from  '表名'

4.添加功能獲取自增的主鍵

場(chǎng)景模擬:
t_clazz(clazz_id,clazz_name)
t_student(student_id,student_name,clazz_id)
1 、添加班級(jí)信息
2 、獲取新添加的班級(jí)的 id
3 、為班級(jí)分配學(xué)生,即將某學(xué)的班級(jí) id 修改為新添加的班級(jí)的 id

接口:

int insertUser(User user);

SQL:

  <insert id="insertUser" useGeneratedKeys="true"  keyProperty="id">
        insert into t_user values(null,#{username},#{password},#{age},#{sex},#{email})
    </insert>

測(cè)試:

    public  void  test9(){
        SqlSessionUtils sqlSessionUtils = new SqlSessionUtils();
        SqlSession sqlSession = sqlSessionUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = new User(null,"小K","183918389",22,"男","13121178@qq.com");
        mapper.insertUser(user);
        System.out.println(user);
    }

效果:

 如果把    useGeneratedKeys       keyProperty 刪除

運(yùn)行結(jié)果:

發(fā)現(xiàn)id=null

 useGeneratedKeys:設(shè)置使用自增的主鍵

 keyProperty:因?yàn)樵鰟h改有統(tǒng)一的返回值是受影響的行數(shù),因此只能將獲取的自增的主鍵放在傳輸?shù)膮?shù)user對(duì)象的某個(gè)屬性中

總結(jié)

到此這篇關(guān)于MyBatis特殊SQL的執(zhí)行的文章就介紹到這了,更多相關(guān)MyBatis特殊SQL執(zhí)行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)視頻格式轉(zhuǎn)化的操作代碼

    Java實(shí)現(xiàn)視頻格式轉(zhuǎn)化的操作代碼

    在當(dāng)今數(shù)字化時(shí)代,視頻已成為我們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡囊徊糠?不同的設(shè)備和平臺(tái)可能支持不同的視頻格式,因此,視頻格式轉(zhuǎn)換的需求也日益增長,本文將介紹如何使用Java實(shí)現(xiàn)視頻格式轉(zhuǎn)換,需要的朋友可以參考下
    2025-01-01
  • 基于mybatis一對(duì)多查詢內(nèi)層排序的問題

    基于mybatis一對(duì)多查詢內(nèi)層排序的問題

    這篇文章主要介紹了基于mybatis一對(duì)多查詢內(nèi)層排序的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
    2022-01-01
  • Java實(shí)現(xiàn)的JSONUtil工具類與用法示例

    Java實(shí)現(xiàn)的JSONUtil工具類與用法示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的JSONUtil工具類與用法,結(jié)合實(shí)例形式分析了Java操作json格式數(shù)據(jù)工具類JSONUtil的定義與簡單使用技巧,需要的朋友可以參考下
    2018-07-07
  • List轉(zhuǎn)換成Map工具類的簡單實(shí)例

    List轉(zhuǎn)換成Map工具類的簡單實(shí)例

    下面小編就為大家?guī)硪黄狶ist轉(zhuǎn)換成Map工具類的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • Java?Stream.reduce()用法詳細(xì)解析

    Java?Stream.reduce()用法詳細(xì)解析

    Stream API提供了豐富的中間函數(shù),歸并函數(shù)和終端函數(shù),這些函數(shù)還支持并行化執(zhí)行,下面這篇文章主要給大家介紹了關(guān)于Java?Stream.reduce()用法的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • SpringBoot的Bean類三種注入方式詳解

    SpringBoot的Bean類三種注入方式詳解

    在 Spring Boot 中,Bean 的注入方式主要包括構(gòu)造函數(shù)注入(Constructor Injection)、字段注入(Field Injection)以及 Setter 方法注入(Setter Injection),以下是這幾種注入方式的詳細(xì)介紹,并附上 Lombok 的注入方式,需要的朋友可以參考下
    2024-12-12
  • 深入理解框架背后的原理及源碼分析

    深入理解框架背后的原理及源碼分析

    這篇文章來為大家深入的介紹了框架背后的原理及源碼分析,希望大家能夠更深層次的理解并使用好框架,在此與君共勉,框架雖好,但不要丟了其背后的原理
    2022-01-01
  • springboot中如何實(shí)現(xiàn)kafa指定offset消費(fèi)

    springboot中如何實(shí)現(xiàn)kafa指定offset消費(fèi)

    這篇文章主要介紹了springboot中如何實(shí)現(xiàn)kafa指定offset消費(fèi),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 深入理解java中Arrays.sort()的用法

    深入理解java中Arrays.sort()的用法

    這篇文章主要介紹了深入理解java中Arrays.sort()的用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • shiro攔截認(rèn)證的全過程記錄

    shiro攔截認(rèn)證的全過程記錄

    Apache?Shiro是一個(gè)強(qiáng)大且易用的Java安全框架,執(zhí)行身份驗(yàn)證、授權(quán)、密碼和會(huì)話管理,下面這篇文章主要給大家介紹了關(guān)于shiro攔截認(rèn)證的相關(guān)資料,需要的朋友可以參考下
    2021-11-11

最新評(píng)論

汶上县| 芮城县| 永州市| 赤峰市| 淮北市| 崇信县| 海宁市| 上思县| 阿克陶县| 永顺县| 石屏县| 广平县| 东丰县| 蒙城县| 泌阳县| 三台县| 德令哈市| 霍城县| 隆子县| 秀山| 高雄市| 保定市| 敦煌市| 北海市| 湖州市| 镇沅| 夹江县| 崇左市| 宜春市| 舞钢市| 林甸县| 鄯善县| 来凤县| 永济市| 习水县| 汉川市| 明光市| 兴隆县| 宁南县| 枣庄市| 互助|