通过springboot启动一个项目
导入依赖
<!--数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--Mybatis 一般不要同时导入mybatis和mybatisPlus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
配置连接数据库(application.properties)
注意:MySQL 5 与MySQL 8的驱动不同,并且MySQL8还需要添加时区的配置信息
MySQL 5:com.mysql.jdbc.Driver
MySQL8:com.mysql.cj.jdbc.Driver
server.port=8080
#MySQL 5
spring.datasource.username=root
spring.datasource.password=000000
spring.datasource.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#MySQL 8 时区配置:serverTimezone=GMT%2B8 东八区
创建domain
package com.leon.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer id;
private String name;
private Double moeny;
}
创建dao层和mapper接口,并继承BaseMapper
package com.leon.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.leon.domain.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface userMapper extends BaseMapper<User>{
//继承BaseMapper后基本的CRUD已经实现了 传入泛型(要对什么对象进行操作就传入该对象)
}
在启动类中添加@MapperScan注解
//扫描我们的mapper接口所在的包
@MapperScan("com.leon.dao")
@SpringBootApplication
public class MybaitsPlusApplication {
public static void main(String[] args) {
SpringApplication.run(MybaitsPlusApplication.class, args);
}
}
在测试类中进行测试
@SpringBootTest
class MybaitsPlusApplicationTests {
//继承了BaseMapper,所有的方法都来自父类,我们也可以编写自己的扩展方法
@Autowired
private userMapper userMapper;
@Test
void contextLoads() {
//查询所有 要传入的Wrapper是一个条件构造器
List<Account> users = userMapper.selectList(null);
for (Account user : users) {
System.out.println(user);
}
}
}
问题:1.MySQL驱动类忘记添加版本信息,默认导入的是MySQL 8 ,配置时区后解决
2.domain 中的实体类的类名要与表明一致。mybatis