(Mybatis)使用注解开发
文章目录
- 使用注解开发
- 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)使用注解开发相关推荐
- mybatis使用注解开发
mybatis使用注解开发 面向接口编程 在之前我们是通过面向对象编程,但是在真正开发的时候我们会选择面向接口编程. 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的 ...
- mybatis之注解开发与逆向工程
注解开发 MyBatis 最初是一个 XML 驱动的框架.配置信息是基于 XML 的,而且映射语句也是定义在 XML 中的.随着技术的更新发展,对于开发效率要求也原来越高,特别是一些小型项目;越来越多 ...
- MyBatis之注解开发
mybatis常用注解: @Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@Result ...
- mybatis的注解开发之三种动态sql
脚本sql XML配置方式的动态SQL我就不讲了,有兴趣可以自己了解,下面是用<script>的方式把它照搬过来,用注解来实现.适用于xml配置转换到注解配置 @Select(" ...
- 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 ...
- Mybatis接口注解开发
[1.在项目中新增一个接口,如下] package com.crayon.test; import java.util.List; import org.apache.ibatis.annotatio ...
- MyBatis----回顾mybatis自定义和环境搭建+完善自定义Mybatis的注解开发
上一篇
- MyBatis-学习笔记04【04.自定义Mybatis框架基于注解开发】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
- Mybatis—注解开发
Mybatis的注解开发 MyBatis的常用注解 这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper映射文件了. @Insert:实现新增 @Upd ...
- Mybatis注解开发笔记
Mybatis注解开发(笔记) 欢迎来到菜鸟研究所 创建新的Maven项目 配置文件 prom.xml log4j.properties jdbcConfig.properties SqlMapCom ...
最新文章
- opencv 白平衡
- elasticsearch7.x源码编译
- Android插件化原理解析——广播的管理
- python连接各种数据库数据_Python连接各种数据库
- 同批号不同批次同一单据中出现数量不限制
- printFinal用法示例
- 安装了一下WinZip,感觉很难用
- Java CRC32基本使用
- python哈希类型_Python散列类型和运算符
- 吴晓波:预见2021(跨年演讲 —— 02 “云上中国”初露峥嵘)
- 安装win10 ltsc应用商店
- LoadRunner中think time详解
- STM32F100R4 单片机解密特性 ST芯片解密
- 15 个边玩游戏边学编程的网站(包含 Python)
- 图书管理系统之DAO设计与实现
- AIGC用于智能写作的技术综述-达观数据
- vue-router路由重复点击时报错的解决方案
- 案例部署——GlusterFS分布式文件系统群集
- 用syslog服务器收集java日志
- 百度云服务器网络检查,百度推出网站安全监测平台,为服务器提供安全漏洞扫描...
热门文章
- C++ Primer 5th笔记(chap 18 大型程序工具)命名空间特性
- [FF-A]-01-Introduction
- [architecture]-ARM AMBA/AXI/ACE/LITE总线介绍
- 360加固分析(一)
- python猜密码游戏规则_【python笔记 三 】python脚本实战---数字密码小游戏
- VirtualKD + VMWare双机调试(失败)
- [WUSTCTF2020]level4
- BUUCTF Dig the way
- WriteFile和GetSystemDirectory
- Windows x64内核学习笔记(三)—— SMEP SMAP