9.jpa操作、作业讲解、xml打包

jpa操作

依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

yml配置

spring:
    #jpa配置
    jpa:
      # 更新或创建表结构
      hibernate:
        ddl-auto: update
        # 控制台显示sql语句
      show-sql: true

实体类

package com.lcywings.sbt.beans;

import lombok.Data;
import lombok.Generated;

import javax.persistence.*;


/**
 * Created on 2021/7/29.
 * <p>
 * Author : Lcywings
 * <p>
 * Description :
 */
@Data
@Entity // 告诉jpa,当前是一个实体类
@Table(name = "air_user")  // 指定跟数据库表的对应,如果胜率属性,就是AirUser作为表名
public class AirUser {

    @Id //代表是一个主键
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    @Column(name = "user_name", length = 30)// 数据表中的列名字
    private String userName;

    @Column(name = "user_pwd", length = 18)
    private String userPwd;
}

Controller

package com.lcywings.sbt.controller;

import com.lcywings.sbt.beans.AirUser;
import com.lcywings.sbt.repository.AirUserRepository;
import com.lcywings.sbt.util.RequestResult;
import com.lcywings.sbt.util.ResultBuildUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created on 2021/7/29.
 * <p>
 * Author : Lcywings
 * <p>
 * Description :
 */
@RestController
@Slf4j
@Api()
public class AirUserController {
    @Autowired
    private AirUserRepository airUserRepository;

    /**
     * @return :
     * @author : zhukang
     * @date : 2021-07-29
     * @description : 根据用户id,查询用户详情
     */
    @GetMapping("/airUserInfo")
    @ApiOperation(value = "查询用户详情", notes = "支持jpa操作")
    public RequestResult<AirUser> airUserInfo(@RequestParam @ApiParam(name = "userId", value = "用户编号", required = true) Integer userId) {
        log.info("------ 根据用户编号{},查询用户详情 ------", userId);

        // 直接进行数据查询操作,jpa自动的
        AirUser airUser = airUserRepository.findOne(userId);

        // 返回结果
        return ResultBuildUtil.success(airUser);

    }

    /**
     * @return : com.kgc.sbt.util.RequestResult<com.kgc.sbt.domain.AirUser>
     * @author : zhukang
     * @date : 2021-07-29
     * @description : 添加用户
     */
    @GetMapping("/addAirUser")
    @ApiOperation(value = "添加用户详情", notes = "支持jpa操作")
    public RequestResult<AirUser> addAirUser(AirUser addAirUser) {
        log.info("------ 添加用户详情,{} ------", addAirUser);

        // 直接进行数据查询操作,jpa自动的
        AirUser airUser = airUserRepository.save(addAirUser);

        // 返回结果
        return ResultBuildUtil.success(airUser);

    }
}

xml打包

<!-- 指定打包读取的配置目录及文件格式 -->
<resources>
    <!-- 将src/main/java下所有包中的xml文件编译打包到最终项目包中,解决xml映射文件和mapper接口在 -->
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
    </resource>
    <!-- 如果上面配置了resources,默认的resurces目录就失效了,所以必须重新指定resources目录 -->
    <resource>
        <directory>src/main/resources</directory>
    </resource>
</resources>

Q.E.D.