文章目录

  • 使用注解开发
    • 1.使用步骤
    • 2. 原理
    • 3.Mybatis详细执行流程
    • 4.增删改查

使用注解开发

1.使用步骤

1.注解在接口上实现

    @Select("select * from user")List<User> getUsers();

2.在核心配置文件中绑定接口

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

3.测试

    @Testpublic void test(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> users = mapper.getUsers();for (User user : users) {System.out.println(user);}sqlSession.close();}

2. 原理

本质是通过反射机制来实现
底层是动态代理

3.Mybatis详细执行流程

4.增删改查

在mybatis工具类中可以设置自动提交事务

public static SqlSession  getSqlSession(){return sqlSessionFactory.openSession(true);
}

编写接口,添加注解

// 方法存在多个参数,所有的参数前面必须加上 @Param("id")注解@Select("select * from user where id = #{id}")List<User> getUserById(@Param("id") int id);@Insert("insert into user(id,name,pwd) values (#{id},#{name},#{pwd})")int addUser(User user);@Update("update user set name=#{name} ,pwd=#{pwd} where id=#{id} ")int updateUser(User user);@Delete("delete from user where id= #{id}")int deleteUser(@Param("id") int id);

测试

  @Testpublic void test(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//        List<User> user = mapper.getUserById(1);
//        System.out.println(user);
//        mapper.addUser(new User(5,"伊泽瑞尔","123465"));
//        mapper.updateUser(new User(5,"妮蔻","123456"));mapper.deleteUser(5);sqlSession.close();}

注意
必须将接口绑定到核心配置文件中

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

关于@Param() 注解

  • 基本类型的参数或者String类型,需要加上
  • 引用类型不需要加
  • 如果只有一个基本类型的话,可以忽略
  • 在SQL中引用的就是这里的 @Param() 中设定的属性名

(Mybatis)使用注解开发相关推荐

  1. mybatis使用注解开发

    mybatis使用注解开发 面向接口编程 在之前我们是通过面向对象编程,但是在真正开发的时候我们会选择面向接口编程. 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的 ...

  2. mybatis之注解开发与逆向工程

    注解开发 MyBatis 最初是一个 XML 驱动的框架.配置信息是基于 XML 的,而且映射语句也是定义在 XML 中的.随着技术的更新发展,对于开发效率要求也原来越高,特别是一些小型项目;越来越多 ...

  3. MyBatis之注解开发

    mybatis常用注解: @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@Result ...

  4. mybatis的注解开发之三种动态sql

    脚本sql XML配置方式的动态SQL我就不讲了,有兴趣可以自己了解,下面是用<script>的方式把它照搬过来,用注解来实现.适用于xml配置转换到注解配置 @Select(" ...

  5. SSM—mybatis框架-注解开发-动态sql(where,set,trim,choose,when,foreach)-模糊查询写法-特殊符号处理-缓存

    文章目录 2.0.注解 2.1.动态sql 2.1.1.where 2.1.2.set 2.1.3.trim 2.1.3.1.trim的where 2.1.3.2.trim的set 2.1.4.1.c ...

  6. Mybatis接口注解开发

    [1.在项目中新增一个接口,如下] package com.crayon.test; import java.util.List; import org.apache.ibatis.annotatio ...

  7. MyBatis----回顾mybatis自定义和环境搭建+完善自定义Mybatis的注解开发

    上一篇

  8. MyBatis-学习笔记04【04.自定义Mybatis框架基于注解开发】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  9. Mybatis—注解开发

    Mybatis的注解开发 MyBatis的常用注解 这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper映射文件了. @Insert:实现新增 @Upd ...

  10. Mybatis注解开发笔记

    Mybatis注解开发(笔记) 欢迎来到菜鸟研究所 创建新的Maven项目 配置文件 prom.xml log4j.properties jdbcConfig.properties SqlMapCom ...

最新文章

  1. opencv 白平衡
  2. elasticsearch7.x源码编译
  3. Android插件化原理解析——广播的管理
  4. python连接各种数据库数据_Python连接各种数据库
  5. 同批号不同批次同一单据中出现数量不限制
  6. printFinal用法示例
  7. 安装了一下WinZip,感觉很难用
  8. Java CRC32基本使用
  9. python哈希类型_Python散列类型和运算符
  10. 吴晓波:预见2021(跨年演讲 —— 02 “云上中国”初露峥嵘)
  11. 安装win10 ltsc应用商店
  12. LoadRunner中think time详解
  13. STM32F100R4 单片机解密特性 ST芯片解密
  14. 15 个边玩游戏边学编程的网站(包含 Python)
  15. 图书管理系统之DAO设计与实现
  16. AIGC用于智能写作的技术综述-达观数据
  17. vue-router路由重复点击时报错的解决方案
  18. 案例部署——GlusterFS分布式文件系统群集
  19. 用syslog服务器收集java日志
  20. 百度云服务器网络检查,百度推出网站安全监测平台,为服务器提供安全漏洞扫描...

热门文章

  1. C++ Primer 5th笔记(chap 18 大型程序工具)命名空间特性
  2. [FF-A]-01-Introduction
  3. [architecture]-ARM AMBA/AXI/ACE/LITE总线介绍
  4. 360加固分析(一)
  5. python猜密码游戏规则_【python笔记 三 】python脚本实战---数字密码小游戏
  6. VirtualKD + VMWare双机调试(失败)
  7. [WUSTCTF2020]level4
  8. BUUCTF Dig the way
  9. WriteFile和GetSystemDirectory
  10. Windows x64内核学习笔记(三)—— SMEP SMAP