Spring Boot整合MyBatis
新建项目:
第一步 勾选配置(web.mybatis.mysql)
修改mysql版本:
第二步 引入数据库的相关配置:
第三步 springboot整合mybatis(findCount)
第四步 编写mapper接口
@Mapper:将mapper接口交给spring管理
第五步 在resources目录下的static目录下,编写mapper.xml
第六步 编写service
编写serviceimpl,@Transactional注解(事务)
第七步 编写controller
第八步 添加扫描包
@MapperScan(“cn.kgc.mapper”)注解
第九步 测试
不写@Mapper注解:也可以
不写@Service注解,报的错:
不写@Transactional注解,也可以:
@MapperScan("cn.kgc.mapper")
/*@ComponentScan注解就是用来自动扫描被这些注解标识的类,
最终生成ioc容器里的bean.可以通过设置@ComponentScan basePackages,includeFilters,excludeFilters属性来动态确定自动扫描范围*/
@SpringBootApplication
/*是Sprnig Boot项目的核心注解,目的是开启自动配置*/
@Component
下面写这个是引入component的扫描组件(这是在配置文件中的书写格式,如spring mvc中的applicationcontent.xml, 在spring boot中的话,因采用的是零配置所以要直接在类上加入@component注解就可以了)
<context:component-scan base-package=”com.mmnc”>
@ConfigurationProperties(prefix ="person")
@ConfigurationProperties告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定
@RunWith(SpringRunner.class)
/*@RunWith就是一个运行器
* 在使用所有注释前必须使用@RunWith(SpringJUnit4ClassRunner.class),
* 让测试运行于Spring测试环境
* Spring框架在org.springframework.test.annotation
* 包中提供了常用的Spring特定的注解集,如果你在Java5或以上版本开发,
* 可以在测试中使用它。
@SpringBootTest(SpringRunner.class)
SpringRunner.class:测试
/*Spring Boot Test:关于测试的注解(包括三种类型)
1.单元测试:一般面向方法,编写一般业务代码时,测试成本较大
。涉及到的注解有@Test。
2.切片测试:一般面向难于测试的边界功能,介于单元测试和功能测试之间。
涉及到的注解有@RunWith @WebMvcTest等。
3.功能测试:一般面向某个完整的业务功能,同时也可以使用切面测试中的mock能力,
推荐使用。涉及到的注解有@RunWith @SpringBootTest等。
* */
使用这个注解的类或者方法表示该类里面的所有方法或者这个方法的事务由spring处理,来保证事务的原子性,即是方法里面对数据库操作,如果失败则spring负责回滚操作,成功则提交操作。
@Transactional 可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。
@Transactional 注解应该只被应用到 public 方法上,如果你在 protected、private 或者默认可见性的方法上使用 @Transactional 注解,这将被忽略,也不会抛出任何异常。
喜欢前端、后端java开发的 可以到我的知乎主页(更多详细内容等你关注呦):https://www.zhihu.com/people/xing-chen-you-guang-pie-pie-pie,有详细视频、资料、教程,文档,值得拥有!!!希望可以一起努力,加油ヾ(◍°∇°◍)ノ゙!!!