学习基于SpringBoot + maven实现应用工程的创建和功能开发。包括对数据的增、删、改、查四类功能接口开发,技术实现需包含Controller、Service、Dao三层结构。持久层集成MybatisPlus框架实现数据库操作,SQL至少实现两种方式执行:1、XML文件配置方式;2、Wrapper方式。
*贴的代码以项目中为准,有的缺少注解
新建controller包
新建controller类
package com.example.springboot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class MyController {
@RequestMapping(value = "/helloworld")
public @ResponseBody String helloworld(){
return "hello,springboot!!!";
}
}
测试一下
在.properties文件中修改端口和上下文根
#修改内置tomcat端口号
server.port=1823
#设置项目上下文根
server.servlet.context-path=/demo
这样访问地址就变成localhost:1823/demo/helloworld
(1)首先有一个数据库表(略)
(2)在pom.xml的
mysql
mysql-connector-java
com.baomidou
mybatis-plus-boot-starter
3.1.0
org.projectlombok
lombok
(3)配置数据源和注解
在.properties文件加入数据库连接配置
# mysql 5 驱动不同 com.mysql.jsbc.Driver
# mysql 8 驱动不同 com.mysql.cj.jsbc.Driver、需要增加时区的配置
spring.datasource.username=root
spring.datasource.password=123
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
在 Spring Boot 启动类中添加 @MapperScan
注解,扫描 Mapper 文件夹
@MapperScan("com.example.springboot.mapper")
(4)编码
传统方式:pojo层 -> dao层 -> (链接mybatis, 配置mapper.xml文件) -> service层
pojo(Plain Old Java Objects,普通老式 Java 对象)
->controller层,很繁琐。
plus: pojo层 -> dao接口(不用写mapper.xml文件)-> 使用
编写实体类 User.java(
pojo类)
package com.example.springboot.model;
import lombok.Data;
@Data
public class User {
private String user_id;
private String user_name;
private String password;
private String permission;
}
编写 Mapper 包下的 UserMapper
接口
package com.example.springboot.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.springboot.model.User;
public interface UserMapper extends BaseMapper {
}
mybatis-plus
已经配置完成,可以直接使用CRUD(增删改查)。
在controller中添加如下:
(数据库配置时,忘记修改数据库名,导致报错Access denied for user 'elevator'@'%' to database 'mybatis_plus')
// 尝试一下RESTFUL风格
// 只支持 Get 请求,主要用于查询操作
@GetMapping(value = "/user/select/{id}")