【MyBatis学习笔记五】——MyBatis注解的简单使用

1.简单注解介绍

@Insert : 插入sql , 和xml insert sql语法完全一样
@Select : 查询sql, 和xml select sql语法完全一样
@Update : 更新sql, 和xml update sql语法完全一样
@Delete : 删除sql, 和xml delete sql语法完全一样

2.使用注解实现crud

 	@Select("select * from mybatis.user")
    List<User> getAll();

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

    @Insert("insert into mybatis.user (username,password) values (#{username},#{password})")
    int add(User user);

    @Update("update mybatis.user set username = #{username},password = #{password} where id = #{id}")
    int update(User user);

    @Delete("delete from mybatis.user where id = #{id}")
    int deleteOneById(@Param("id") int id);

    @Select("select * from mybatis.user limit #{page} , #{pageSize}")
    List<User> getBySql(Map<String,Object> data);

3.将包内的映射器接口实现全部注册为映射器

	<mappers>
        <!--<mapper resource="mapper/UserMapper.xml"/>-->
        <!-- 将包内的映射器接口实现全部注册为映射器 -->
        <package name="com.demo.mapper"></package>
    </mappers>

4.#和$区别:

  • 都是对参数进行标记的符号

  • #是预编译,防止sql注入

  • $ 相当于一个占位符,不能防止sql注入

5.xml和注解的关系

  • xml必须有个一个XxxMapper.xml与之对应,方法名对应xml中的id,方法入参和方法出参都必须对应起来,很容易出问题。
  • 不需要XxxMapper.xml文件,只需要在对应XxxMapper.java中的方法上加上注解就搞定了,但是这里是有坑的。毕竟把sql放到了我们的Java代码里了。
  • 优缺点
    • xml方式: 增加了xml文件,修改麻烦,条件不确定(ifelse判断),容易出错,特殊转义字符比如大于小于 。
    • 注解方式:复杂sql不好用,搜集sql不方便,管理不方便,修改需重新编译

6.demo地址

  • https://download.csdn.net/download/weixin_43817709/19245499
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值