文章目录
目录
前言
公司项目用到了mybatis开发接口,虽然很简单,但是mybatis不是特别熟悉,这里学习一下
一、Mybatis接口绑定的两种方式
1.接口绑定实现方式
就是在接口的方法上加上@Select,@update@Insert@Delete等注解
- @select注解介绍:
- 简便,能快速去操作sql,它只需要在mapper方法中加入@select,然后在括号中写入需要实现的sql语句即可
- 另外一种方式就是想我们通常写的xml类似,在注解中使用等相关的标签来实现我们复杂的语句,但是必须在外面一层用标签将sql语句含进去.(不推荐,当条件比较复杂时,字符串中难免会出现很多错误)
- 目的是取代xml中的select标签,只作用在方法上面.下面看一下@Select注解的源码介绍:Selet注解只能修饰方法,@select注解的值是字符数组 虽然@Select注解的值是字符数组,但是真正生效的应该是最后那条SQL语句,这一点请大家要留意一下
-
@update注解介绍:
-
更新参数
-
2.XML方式的用法
mybatis的强大之处就在于自定义的SQL语句,映射器的xml文件方式相比JDBC简单,节省代码量(好家伙前几天刚学的jdbc白学了,学编程经典白学)
- 先创建Mapper.java接口文档
- 创建Mapper.xml配置文件(注意mapper接口文件的函数名要和xml配置文件中id的名字要匹配)
- 在全局配置文件中配置映射路径
- 全局配置文件一般有三种:application.properties appliccation.yaml application.yml
- yml后缀的文件配置更加简便,本次项目的全局配置文件也是这个格式
- XML开发方式规范
- 在mapper.xml中namespace命令空间等于Mapper接口的全路径名
- Mapper.java接口中的方法名和Mapper.xml中的Statement的Id一致
- Mapper.java接口中方法的参数类型和Mapper.xml中parameterType的制定类型一致
- Mapper.java接口中方法的返回值类型和Mapper.xml中的resultType制定的类型一致
二、注解方式的用法
- 注解形式是直接将SQL写在接口方法上
- 优点:效率很高
- 缺点:SQL有变动时需要重新编译代码
- 在mybatis注解的SQL中,基本的注解:@Select,@Update,@Delete,@Insert
- @Data注解相当于给注解的对象所有属性全部创建get/set和tostring方法,提升代码的整洁性
零散的知识点:
- @RestController意思是return的数据都变成json的格式,返回到前端,但是不会跳转页面.如果想跳转页面的话,就需要把RestController改成Controller,就会跳转页面了
- @Resource和@Autowired的区别:
- 他们都可以用来装配bean,都可以用于字段或者setter方法()
- @Autowired默认按照类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false.
- @Resource默认按名称装配,当找不到与名称匹配的bean时才会按照类型进行装配.名称可以通过name属性指定,如果没有指定name属性,当注解写在字段上时,默认取字段名,当注解写在setter方法上时,默认取属性名进行装配
- 注意:如果name属性一旦制定,就只会按照名称进行装配
- @Autowire和@Qualifier配合使用效果和@Resource一样
总结
对于基于mybites的开发的API接口有了更深的理解,能看懂API逻辑,但还写不出来,争取明天能写出来吧
参考和学习文档:
Spring Boot+mybatis-plus之@Select注解 - 简书
Mybatis使用_mybatis接口实现相关说明_YEEYang12的博客-CSDN博客