【MyBatis笔记】使用注解开发
在方法前使用注解的方式
绑定接口到核心配置文件中:
本质:使用反射
底层:动态代理
使用注解进行增删改查:
自动提交事务:
工具类:
public interface UserMapper {@Select("select * from user")//获取全部用户List<User>getUser();// ---------------------------------------------//方法存在多个参数,所有的参数前面必须加上@Param("")@Select("select * from user where id=#{id}")//获取id获取用户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(Map<String,Object>map);
//------------------------------------------------------@Delete("delete from user where id=#{id}")int deleteUser(@Param("id")int id);
}
public class User {private int id;private String name;private String pwd;getter setter tostring;
}
测试类
@Testpublic void getUser(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> user = mapper.getUser();for (User user1 : user) {System.out.println(user1);}sqlSession.close();}@Testpublic void getUserById(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);User userById = mapper.getUserById(2);System.out.println(userById);sqlSession.close();}@Testpublic void addUser(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.addUser(new User(6,"哈哈哈是的","76543"));sqlSession.close();}@Testpublic void updateUser(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);HashMap<String, Object> map = new HashMap<>();map.put("id",2);map.put("name","2two");map.put("pwd","lasf");mapper.updateUser(map);sqlSession.close();}@Testpublic void delete(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.deleteUser(2);sqlSession.close();}
Mybatis详细执行流程:
Resource获取全局配置文件
实例化SqlsessionFactoryBuilder
解析配置文件流XMLCondigBuilder
Configration所有的配置信息
SqlSessionFactory实例化
trasactional事务管理
创建executor执行器
创建SqlSession
实现CRUD
查看是否执行成功
提交事务
关闭
【MyBatis笔记】使用注解开发相关推荐
- MyBatis-学习笔记04【04.自定义Mybatis框架基于注解开发】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
- (Mybatis)使用注解开发
文章目录 使用注解开发 1.使用步骤 2. 原理 3.Mybatis详细执行流程 4.增删改查 使用注解开发 1.使用步骤 1.注解在接口上实现 @Select("select * from ...
- MyBatis-学习笔记12【12.Mybatis注解开发】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
- springmvc学习笔记(10)-springmvc注解开发之商品改动功能
springmvc学习笔记(10)-springmvc注解开发之商品改动功能 springmvc学习笔记(10)-springmvc注解开发之商品改动功能 标签: springmvc springmv ...
- 黑马程序员-MyBatis笔记
一.什么是Mybatis mybatis 是一个优秀的基于java的持久层框架,它内部封装了 jdbc,使开发者只需要关注sql语句本身,而不需要花费精力 去处理加载驱动.创建连接.创建stateme ...
- MyBatis_通用mapper注解开发
文章目录 9. 通用mapper注解开发 9.1. 通过mapper入门案例 9.1.1. 添加mapper依赖 9.1.2. 相关配置文件 - jdbc.properties - mybatis-c ...
- Mybatis注解开发笔记
Mybatis注解开发(笔记) 欢迎来到菜鸟研究所 创建新的Maven项目 配置文件 prom.xml log4j.properties jdbcConfig.properties SqlMapCom ...
- Mybatis整体学习笔记-CRUD-配置解析-结果集映射-日志-注解开发-复杂环境-动态SQL-缓存
MyBatis 要多对官方文档进行学习 https://mybatis.org/mybatis-3/zh/index.html 简介 MyBatis 持久层框架 Dao Access Objects ...
- Mybatis 注解开发 + 动态SQL
Hello 大家好我是橙子同学,今天分享注解Mybatis注解开发+动态sql 目录 每文一铺垫(今天有小插曲哦) 注解开发 添加 @Insert 删除 @Delete 查询 @Select 修改 @ ...
- mybatis使用注解开发
mybatis使用注解开发 面向接口编程 在之前我们是通过面向对象编程,但是在真正开发的时候我们会选择面向接口编程. 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的 ...
最新文章
- 理解 Linux 的虚拟内存
- DOS 批处理命令学习1
- Oracle优化07-分析及动态采样-DBMS_STATS 包
- 《Splunk智能运维实战》——3.6 制作每一主机不同请求方法数量的图表
- pythonflat怎么设置_python – numpy 2d和1d add flat
- 使用extern C改善显式调用dll
- 收集17句经典程序员口头禅
- python求一组数的最大值_python快速求一个数组的最大值/最小值及其索引
- python如何把一张图像的所有像素点的值都显示出来_情人节,教你用 Python 向女神表白...
- 简明批处理教程(2)
- ssma5.3_使用SSMA v7.1 for Oracle迁移到SQL Server
- RapidIOIP核的验证方法研究_王玉欢
- 一英寸芯片大小_晶圆和芯片的关系_一个芯片有多少晶圆
- 3D建模软件大总结,你都知道哪些?
- 【设计模式】五:依赖倒置与里氏代换原则
- python是真刑啊!爬虫这样用,离好日子越铐越近了~
- NX二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突
- 从dtx文件得到cls文件
- .Net Core 编码规范
- 循环practice