之前写的那篇Spring框架学习笔记(5)——Spring Boot创建与使用,发现有多小细节没有提及,,正好现在又学习了mybatis plus这款框架,打算重新整理一遍,并将细节说清楚
1.通过IDEA创建spring boot
2.项目相关配置
只需要修改第一个和第二个,下面的其他选项会自动改变
3.勾选需要的库
这一步勾选了之后,spring boot会自动地在pom.xml文件中添加相关对应的第三方开源库的依赖
这里如果不熟悉的话,建议不要勾选mybatis和mysql,这样创建出来的spring boot就可以直接运行而不会报错,
之后在浏览器中直接访问localhost:8080就可以看到白页提示,则表明spring boot已经创建成功了,这里在之前那篇博文详细讲解了,具体在这里不多说了
4.添加mybatis plus依赖
这里,官方提示使用了mybatis plus,则不要使用mybatis的依赖,防止冲突
所以,我们使用下面的依赖把原来的mybatis-spring-boot-starter
那个依赖给替换掉
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
我们还需要把依赖中的mysql-connector-java
中的runtime那一行去掉,否则下面的配置数据库驱动的时候会找不到驱动文件
5.配置application.yml文件
可以看到项目中存在的application.properties
文件,说明spring boot项目中默认使用的配置文件为properties格式,不过还有另外的一种格式支持,那就是yml格式。
yml方式相比properties,支持嵌套,可读性较好,所以我是选用了yml格式
server:
port: #端口号,默认不写就是8080
servlet:
context-path: #项目上下文,必须要以“/”开头
spring:
datasource:
username: #数据库用户名
password: #数据库密码
url: jdbc:mysql://localhost:3306/mofang?useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver #直接打mysql会有提示
#showSql日志输出,根据自己的包名进行修改
logging:
level:
com:
example:
mapper : debug
PS:注意,yml格式中,冒号后面需要空格
如果是使用oracle,则在之前勾选oracle驱动即可
6.建立实体类
根据数据库中的表创建对应的实体类
@Data
@ToString
public class User {
private String userName;
private String userPass;
}
PS:我数据库中存在一个名为user的表,列名分别为user_name,user_pass,mybatis会自动进行字段的转换
7.创建mapper接口文件
@Component
public interface UserMapper extends BaseMapper<User> {
}
注意添加注解,让此类被spring容器管理
这里接口继承BaseMapper接口,BaseMapper接口是mybatis plus中提供的接口,里面封装好了一些常用的的CRUD操作
这样一来,我们就不需要书写xml,从而就可以快速地实现了有些基本的CRUD操作了
8.添加MapperScan注解
mapperScan注解会扫描指定包名中的mapper接口文件,并通过spring进行自动装载
@SpringBootApplication
@MapperScan("com.wan.shunbang.mapper")
public class ShunbangApplication {
public static void main(String[] args) {
SpringApplication.run(ShunbangApplication.class, args);
}
}
9.测试
@SpringBootTest
public class UserTest {
@Autowired
private UserMapper userMapper;
@Test
void testInsert() {
List<User> users = userMapper.selectList(null);
for (User user : users) {
System.out.println(user.toString());
}
}
}
测试文件我是放在了test的目录下