@SpringBootTest
class Springboot04JunitApplicationTests {//1、注入要测试的对象@Autowiredprivate BookDao bookDao;//2、执行要测试对象的方法@Testvoid contextLoads() {bookDao.save();}}
@SpringBootTest
@SpringBootTest
class Springboot04JunitApplicationTests {}
//加载spring整合junit专用的类运行器
@RunWith(SpringJUnit4ClassRunner.class)
//指定对应的配置信息
@ContextConfiguration(classes = SpringConfig.class)
public class AccountServiceTestCase {//注入你要测试的对象@Autowiredprivate AccountService accountService;@Testpublic void testGetById(){//执行要测试的对象对应的方法System.out.println(accountService.findById(2));}
}
简化方式
@SpringBootTest(classes = Springboot04JunitApplication.class)
class Springboot04JunitApplicationTests {}
原始配置方式
@SpringBootTest
@ContextConfiguration(classes = Springboot04JunitApplication.class)
class Springboot04JunitApplicationTests {}
org.mybatis.spring.boot mybatis-spring-boot-starter 2.2.0 mysql mysql-connector-java runtime
#2.配置相关信息
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_dbusername: rootpassword: root
public class Book {private Integer id;private String type;private String name;private String description;
}
@Mapper
public interface BookDao {@Select("select * from tbl_book where id = #{id}")public Book getById(Integer id);
}
注意:数据库 SQL 映射时需要添加 @Mapper 才能被容器识别
@SpringBootTest
class Springboot05MybatisApplicationTests {@Autowiredprivate BookDao bookDao;@Testvoid contextLoads() {System.out.println(bookDao.getById(1));}
}
注意:MySql 驱动升级到 8 以后会强制要求配置时区,如果不设置会出现问题。解决办法很简单,在 MySQL 的 url 上面添加上对应的设置即可。
com.baomidou mybatis-plus-boot-starter 3.4.3
#2.配置相关信息
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_dbusername: rootpassword: root
@Mapper
public interface BookDao extends BaseMapper {
}
mybatis-plus 的核心在于 Dao 接口继承了一个 BaseMapper 的接口,这个接口中帮助开发者预定了若干个常用的 API 接口,简化了通用 API 接口的开发工作。
前面整合MyBatis和MP的时候,使用的数据源对象都是SpringBoot默认的数据源对象,下面我们手工控制一下,自己指定了一个数据源对象,Druid。
com.alibaba druid-spring-boot-starter 1.2.6
spring:datasource:druid:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTCusername: rootpassword: root