特殊SQL的执行

 1、模糊查询
  select * from users where name like '%${name}%'
  select * from users where name like concat('%',#{name},'%')
  select * from users where name like '%'#{name}'%'

/*
     * 根据用户名模糊查询用户信息
     * */
    List<Users> getUserByLike(@Param("name") String name);



<!--
        select * from users where name like '%${name}%'
        select * from users where name like concat('%',#{name},'%')
 -->

    <select id="getUserByLike" resultType="Users">
        select * from users where name like '%${name}%'
    </select>


//模糊查询
    @Test
    public void  testGetUserByLike(){
        SqlSession  sqLsession = SQLsession.getSqlsession();
        SQLMapper mapper = sqLsession.getMapper(SQLMapper.class);
        List<Users> users = mapper.getUserByLike("T");
        System.out.println(users);
    }

2、批量删除 不能使用#{} delete from users where name in(${name})

/*
    * 批量删除
    * */
    int deleteUserByName(@Param("id") String id);



<delete id="deleteUserByName">
        delete from users where id in(${id})
</delete>




//批量删除
    @Test
    public void  testdeleteUserByName(){
        SqlSession  sqLsession = SQLsession.getSqlsession();
        SQLMapper mapper = sqLsession.getMapper(SQLMapper.class);
         int re = mapper.deleteUserByName("1548237766262165505,3");
        System.out.println(re);
    }

3、动态查询表名 select * from ${tablename}

/*
    * 动态获取表名
    * */
    List<Users> getUserByTableName(@Param("tablename")String tablename);



<select id="getUserByTableName" resultType="Users">
        select * from  ${tablename}
</select>




//动态查询表名
    @Test
    public void  testgetUserByTableName(){
        SqlSession  sqLsession = SQLsession.getSqlsession();
        SQLMapper mapper = sqLsession.getMapper(SQLMapper.class);
        List<Users> re = mapper.getUserByTableName("Users");
        System.out.println(re);
    }

4、添加功能获取自增的主键

        应用场景:

                添加班级信息,

                获取新加的班级的id,

                为班级分配学生,即将某学的班级id修改为新添加的班级的id

/*
    主键自增测试
    * 添加用户信息
    * */
    int insertUser(Users users);


<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
        insert into  users values ('2022-08-16 12:15:23',null ,18,'小双双',22,'helen@sina.com',1,0)
</insert>


 @Test
    public void testinsertUser(){
        SqlSession sqlsession = SQLsession.getSqlsession();
        UserMapper mapper = sqlsession.getMapper(UserMapper.class);
        int user = mapper.insertUser(new Users(null,null ,0,"shang",12,"12233",0,0));
        System.out.println(user);

    }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值