mybatis注解开发
mybatis可以使用xml文件来写sql语句,也可以通过注解来编写简单的sql语句,参考官方文档
可以理解为简单的一些语法可以使用注解来编写,比较方便,但是复杂的语句还是要使用xml文件,只有使用xml文件才能体现mybatis的强大功能。
下面来学习使用注解。
在之前的开发中,我们使用mybatis,需要
1,配置文件,
2,然后创建dao接口,定义方法
3,再然后就要创建mapper.xml文件,在mapper.xml文件中编写sql语句,
4,最后再把mapper文件配置在mybatis主配置文件中就可以进行测试了
使用注解的方式,我们可以在dao接口中直接在方法上写sql语句,不需要创建mapper文件了
创建一个dao接口:先写一些最简单的语句,例如这些最基本的增删改查的语句,我们可以不使用mapper文件直接使用注解来写
public interface IEmpDAO {@Select("select * from emp")List<Emp> allEmp();@Insert("insert into emp (ename,job,deptno,sal,hiredate) value(#{ename},#{job},#{deptno},#{sal},#{hiredate})")int insertEmp(Emp emp);@Update("update emp set ename=#{ename} where empno=#{empno}")int updateEmp(Emp emp);@Delete("delete from emp where empno=#{empno}")int deleteEmp(int empno);}
使用注解也需要在mybatis配置文件中配置mapper
测试上面的方法:
public class TestSql {public static void main(String[] args) {SqlSession sqlSession = SqlFactory.getSqlSession();IEmpDAO mapper = sqlSession.getMapper(IEmpDAO.class);List<Emp> emps = mapper.allEmp();System.out.println(emps);int i = mapper.insertEmp(new Emp(0, "张三", "保安", 3, 5000.00, new Date()));sqlSession.commit();System.out.println(i+"-------------------");int i1 = mapper.updateEmp(new Emp(4, "小明"));System.out.println(i1 + "+++++++++++++++++++++++++");sqlSession.commit();int i2 = mapper.deleteEmp(6);sqlSession.commit();System.out.println(i2);sqlSession.close();} }
上面介绍了最简单的注解使用,mybatis其实提供了大量的注解用来替换xml文件,注解表格官方文档如下:
下面学习一下使用注解如何配置结果集。
我们经常会用到的就是联表查询
测试
上面的方法是配置返回结果集的注解配置,也可以在mapper映射文件中配置结果集,然后通过注解引用mapper文件的映射结果集:
创建mapper文件,配置结果集映射,
然后再接口上使用resultMap注解配置结果集映射名:
注解内的值mapper中ResultMap的id值,记的在配置文件中配置mapper
还可以在注解中使用条件查询,编辑标签
测试
传空值查询所有:
传递员工编号查询单个员工信息
在注解中使用条件查询时,需要将所有的语句放在<script>标签中
转载于:https://www.cnblogs.com/Zs-book1/p/11277524.html
mybatis注解开发相关推荐
- Mybatis注解开发(一对一)
其他代码访问:Mybatis注解开发基础操作 1.添加OrderMapper接口 public interface OrderMapper {// @Select("select *,o.i ...
- MyBatis-学习笔记12【12.Mybatis注解开发】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
- java day56【 Mybatis 延迟加载策略 、 Mybatis 缓存、Mybatis 注解开发 】
第1章 Mybatis 延迟加载策略 1.1 何为延迟加载? 1.2 实现需求 1.3 使用 assocation 实现延迟加载 1.3.1 账户的持久层 DAO 接口 1.3.2 账户的持久层映射文 ...
- Mybatis注解开发指北
Mybatis注解开发指北 目录 文章目录 Mybatis注解开发指北 @[toc] 0. Mybatis注解开发步骤 1. 导入相关配置文件 2. 配置数据库连接 3. 创建数据库对应的实体类(en ...
- Mybatis注解开发笔记
Mybatis注解开发(笔记) 欢迎来到菜鸟研究所 创建新的Maven项目 配置文件 prom.xml log4j.properties jdbcConfig.properties SqlMapCom ...
- Mybatis注解开发出现Type interface Mapper.StudentMapper is not known to the MapperRegistry异常解决办法
Mybatis注解开发出现Type interface Mapper.StudentMapper is not known to the MapperRegistry异常解决办法 在核心配置文件中,配 ...
- mybatis注解开发动态sql
mybatis注解开发动态sql 本篇来讲一下如何使用mybatis注解模式中的动态sql 先来讲一下什么是动态sql 在我们实际开发的时候可能会出现很多方法需要一条很相似的sql语句来进行增删改查, ...
- Mybatis注解开发(超详细)
Mybatis注解开发 mybatis的常用注解 使用 Mybatis 注解实现基本 CRUD 项目目录结构 编写实体类 使用注解方式开发持久层接口 编写 SqlMapConfig.xml 配置文件 ...
- Mybatis 注解开发 + 动态SQL
Hello 大家好我是橙子同学,今天分享注解Mybatis注解开发+动态sql 目录 每文一铺垫(今天有小插曲哦) 注解开发 添加 @Insert 删除 @Delete 查询 @Select 修改 @ ...
- Java神鬼莫测之MyBatis注解开发之动态SQL语句(六)
1.Mybatis注解开发之动态SQL语句 背景:使用mybatis的注解开发动态Sql会比较麻烦, 很不方便, 所以不太推荐使用,该文章以查询作为案例,演示动态sql语句. 注意:Mybatis的动 ...
最新文章
- 6位图灵奖得主,10多位院士,19个分论坛:北京智源大会邀你共同探索AI下一个十年...
- 关于问题 SAP ABAP ME2O 事物码如何(是否可以)打印发货单?如何自己找到答案
- laravel框架中引入Workerman
- nuxt2.0 设置 webpack 路径别名
- python keyboard库_python利用 keyboard 库记录键盘事件
- 知道草根如何逆袭吗?
- oracle9i查等待事件,什么是Oracle9i中的一个特殊等待事件?
- js时间搓化为今天明天_做猪皮冻,记住“泡一泡,刮一刮,搓一搓”,皮冻晶莹剔透无异味...
- Nginx反向代理相关事宜
- 基本采样算法及Python实现
- linux端口快速释放,Linux 快速释放端口与释放内存缓存,linux释放端口缓存
- [SPOJ CIRU]The area of the union of circles(自适应Simpson积分求圆并面积)
- Word文档中标题前面的黑点如何去掉
- 单片机如何关掉蜂鸣器_如何有效编程单片机有源蜂鸣器驱动
- 三个技巧教你怎么裁剪视频画面,手残党也能掌握
- OpenStreetMap地图服务器安装
- Jmeter性能测试之测试报告
- 三星32英寸智能电视试用 功用全部对得起高价
- win server 2008 r2 iis+php 500错误内部服务器错误。
- 07 Django组件-中间件