SpringBoot初步学习

1、SpringBoot结构

1.1基本结构

主启动类: SpringBootApplication
包: controller、service、mapper、config、entity
controller: 控制器
service: 服务类,为controller提供服务,内含Impl
mapper: 与数据库连接相关的类
entity: 实体类,通常是将数据库映射成java中的类
config: 配置类、

1.2 HelloController

通过浏览器访问HelloController中的方法

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "hello spring boot !";
    }
}

几个注解
@ResponseBody:将返回值变为json
@RestController:@Controller + @ResponseBody+…

  1. 把类加入spring容器
  2. 将类标记为一个控制器

@RequestMappering(value=“/hello”,method=RequestMethod.Get),用来定义访问的地址,
@GetMapping(“/hello”) :Get请求

运行结果
在这里插入图片描述

通过localhost:8080成功运行

示例1

    @GetMapping("/input")
    public Integer getInput(@RequestParam("qiutian") Integer i) {
        return i + 1;
    }

@RequestParam(value=“qiutian”) :向前端请求参数,若有value值,则请求值名称为value的内容

运行结果:RequestParam()无value
在这里插入图片描述

运行结果:RequestParam(value=“qiutian”)
在这里插入图片描述

示例2

    @PostMapping("/insertUser")
    public User insertUser(@RequestBody User user) {
        System.out.println(user);
        return user;
    }

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)并将其改为对应的类,而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

通过ApiPost进行Post请求测试,具体步骤如下:
1.新建接口
在这里插入图片描述
2.编写json测试
在这里插入图片描述

运行结果
在这里插入图片描述
控制器作用:
接受前端请求的参数,并将处理过后的值返回给前端。

全类名:包名+类名
IDEA生成getter、setter方法快捷键:Alt+Insert
@Data:自动配置类中的getter、setter等方法

2、MyBatis

2.1配置MyBatis、MySQL

向pom中添加MyBatis、MySQL

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.2</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

在配置文件中添加数据库

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=数据库路径
spring.datasource.username=用户名
spring.datasource.password=密码

3、例子

3.1定义UserController来查询用户信息

@RestController
public class UserController {
    @Autowired
    private UserMapper userMapper;

    @GetMapping("/getUserById")
    public User getUserById(@RequestParam Integer id) {
        return userMapper.getUserById(id);
    }

    @GetMapping("/getAllUser")
    public List<User> getAllUser() {
        return userMapper.getAllUser();
    }
}

3.2建立mapper文件

在mapper包中创建与数据库联系的接口
在这里插入图片描述
接口中定义部分方法

@Mapper
public interface UserMapper {
    //返回所有用户
    List<User> getAllUser();

    //根据id查询
    User getUserById(@Param("id") Integer id);
}

3.3 在resource中建立mapper的xml文件

在这里插入图片描述
通过xml来实现mapper接口中的方法
1.将数据库数据与类进行映射

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="upc.c505.entity.User">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="gender" property="gender"/>
    </resultMap>

2.查询所有用户

    <select id="getAllUser" resultMap="BaseResultMap">
        select * from user
    </select>

3.根据id查询

    <select id="getUserById" resultMap="BaseResultMap">
        select * from user where id = #{id}
    </select>

将mapper与mapper.xml关联,配置如下:

mybatis-plus.mapper-locations=classpath*:/mapper/**.xml

在主启动类中添加注解

@MapperScan(basePackages = "com.mapper")

通过ApiPost测试
在这里插入图片描述
结果:
在这里插入图片描述

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值