Springboot 整合 MyBatisPlus「详细过程」
提要
这里已经将Springboot环境创建好 这里只是整合MyBatis过程
引入Maven依赖
添加MyBatisPlus启动依赖,添加mysql-connector-java依赖
<!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1</version> </dependency> <!-- mybatis-plus代码生成器 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.1.tmp</version> </dependency> <!-- mysql连接 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
添加application.yml配置
mybatis-plus配置项
mybatis-plus: # xml文件路径 mapper-locations: classpath:mapper/*.xml # 实体类路径 type-aliases-package: com.数据库表对应的实体类的路径 configuration: # 驼峰转换 map-underscore-to-camel-case: true # 是否开启缓存 cache-enabled: false # 打印sql log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 全局配置 global-config: # 数据库字段驼峰下划线转换 db-column-underline: true # id自增类型(数据库id自增) id-type: 0
mysql配置项
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver username: root password: stone url: jdbc:mysql://ip:3306/库名?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
添加数据库对应实体类
@Data @TableName("class_table") public class ClassPojo { @TableId(value = "id", type = IdType.AUTO) private Long id; @TableField(value = "class_name") private String className; }
添加Mapper文件
@Mapper public interface ClassMapper extends BaseMapper<ClassPojo> { }
添加Service接口
public interface ClassVoService extends IService<ClassPojo> { String getClassName(Long id);//自定义方法 }
添加Service实现类
@Component public class ClassVoServiceImpl extends ServiceImpl<ClassMapper, ClassPojo> implements ClassVoService { public String getClassName(Long id){ ClassPojo byId = getById (id); return byId.getClassName (); } }
添加Controller
@RestController @RequestMapping("/demo") public class ExcelController { @GetMapping("/getbyid") public String getbyid(){ return classVoService.getClassName (1l); } }
补充对应表结构
CREATE TABLE `class_table` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 课程id不能为空主键, `class_name` varchar(255) NOT NULL COMMENT 课程名称, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4; SQL 复制 全屏
表数据如下
下一篇:
vue不是内部或者外部命令的解决方法