当前位置:网站首页>Fundamentals - integrating third-party technology
Fundamentals - integrating third-party technology
2022-07-08 01:01:00 【Printf ('xiaobai ');】
Integrating third party Technology
Integrate Junit
Import the corresponding test starter
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
Test use @SpringBootTest modification
@SpringBootTest
class Springboot03JunitApplicationTests {
// Inject the object you want to test
@Autowired
private BookDao bookDao;
@Test
public void testBookDao(){
bookDao.save();
}
}
classes Property specifies the boot class
- When your test class is under the package and sub package of your boot class, it can be implemented
- When not under a bag , Will explode, will not find the configuration class , But the annotation of the boot class contains the annotation of the configuration class
@SpringBootTest(classes = Springboot03JunitApplicationTests.class)
perhaps
@SpringBootTest
@ContextConfiguration(classes = Springboot03JunitApplicationTests.class)
Integrate MyBatis
establish SpringBoot Engineering time , Add the corresponding module (MyBatis MySQL)
- MySQL Driver
- MyBatis framework modular
Set data source parameters
- Configure data source information
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
username: root
password: 123456
Define data layer interfaces and mappings ( You can use the configuration file xml form )
- Mapper It is to make the container recognize SQL mapping
@Mapper
public interface BookDao {
@Select("select * from t_book where id = #{id}")
public Book getById(Integer id);
}
test
@SpringBootTest
class Springboot03MyBatisApplicationTests {
@Autowired
private BookDao bookDao;
@Test
public void testGetById(){
Book book = bookDao.getById(1);
System.out.println(book);
}
}
Handling of common problems
- Server time zone setting processing
- mysql8 The time zone must be set for the above
Drive out reminder com.mysql.cj.jdbc.Driver
- mysql8 The time zone must be set for the above
Integrate MyBatis-Plus
add to pom rely on
- The official version is not included mybatis-plus, Alibaba templates can be used to create
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
mapper Interface inheritance BaseMapper
@Mapper
public interface BookDao extends BaseMapper<Book> {
}
matters needing attention
- When there are no coordinates to choose, you need to manually add coordinate dependencies
- There are two ways to solve the problem that there is no table name
- The first is to add @TableName(“ Table name ”)
The second is to prefix the table name in the configuration file
- The first is to add @TableName(“ Table name ”)
mybatis-plus:
global-config:
db-config:
table-prefix: t_
Integrate Druid
Import coordinates
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
To configure yml
- The first one is
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
- The second kind (
recommend
)
spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
username: root
password: 123456
Ge integrates third-party technology
- Import corresponding starter
- According to the configuration format provided , Configure the configuration items corresponding to non default values
边栏推荐
- What has happened from server to cloud hosting?
- FOFA-攻防挑战记录
- 接口测试要测试什么?
- [Yugong series] go teaching course 006 in July 2022 - automatic derivation of types and input and output
- Huawei switch s5735s-l24t4s-qa2 cannot be remotely accessed by telnet
- Cve-2022-28346: Django SQL injection vulnerability
- 网络模型的保存与读取
- Introduction to ML regression analysis of AI zhetianchuan
- 13.模型的保存和载入
- 跨模态语义关联对齐检索-图像文本匹配(Image-Text Matching)
猜你喜欢
Qt不同类之间建立信号槽,并传递参数
5g NR system messages
SDNU_ ACM_ ICPC_ 2022_ Summer_ Practice(1~2)
Interface test advanced interface script use - apipost (pre / post execution script)
【GO记录】从零开始GO语言——用GO语言做一个示波器(一)GO语言基础
[note] common combined filter circuit
Lecture 1: the entry node of the link in the linked list
【深度学习】AI一键换天
Cancel the down arrow of the default style of select and set the default word of select
v-for遍历元素样式失效
随机推荐
NTT template for Tourism
From starfish OS' continued deflationary consumption of SFO, the value of SFO in the long run
跨模态语义关联对齐检索-图像文本匹配(Image-Text Matching)
【愚公系列】2022年7月 Go教学课程 006-自动推导类型和输入输出
Introduction to paddle - using lenet to realize image classification method II in MNIST
13. Enregistrement et chargement des modèles
Course of causality, taught by Jonas Peters, University of Copenhagen
炒股开户怎么最方便,手机上开户安全吗
利用GPU训练网络模型
letcode43:字符串相乘
NVIDIA Jetson test installation yolox process record
My best game based on wechat applet development
QT establish signal slots between different classes and transfer parameters
jemter分布式
Codeforces Round #804 (Div. 2)
手机上炒股安全么?
7.正则化应用
德总理称乌不会获得“北约式”安全保障
CVE-2022-28346:Django SQL注入漏洞
[Yugong series] go teaching course 006 in July 2022 - automatic derivation of types and input and output