2022年7月13日 日志

2022年7月13日 日志

早上任务:

  1. 删除之前的controller,Service,Mapper-xml,model

先写model再到Mapper-xml,在说controller和Service

  1. 看青戈的9SpringBoot集成MyBatisP和Swagger-UI
  2. MyBatis一对一查询,一对多查询,多对多查询,早上全部实现一次

完成时间

2022年7月13日08:52:46

昨日补充:

interface需要xml的namespace和MapperScan来扫描,如果你用注解就不用,比如常见的注解:

@Select,@Insert,@Delete,@Update
@Param//指定SQL语句中的参数,用于SQL语句中参数比较多的情况
//一对一查询,一对多查询,多对多查询,早上全部实现一次
@One//
@Many//
//多对多查询,使用中间表来维护

MyBatis关联映射,和缓存机制。

公司里还是要熟悉常用的xml元素,

在第二章中,MyBatis核心配置里面介绍了8大配置文件,其中< mappers>文件用于引入MyBatis映射文件,映射文件包含了POJO文件和数据表之间的映射信息。

何谓映射文件,我认为是连接了entity类和数据表的文件,映射就是连接的意思,通过< mappers>元素来解析映射信息。豁然开朗!!

<-- 定位作用,用namespace定位接口-->
<mapper>
<-- 配置当前命名空间的缓存-->
<cache>
<-- 引用缓存 -->
<cache-ref>
<-- 查询 增 删 改-->
<select>
<insert>
<delete>
<update>
<-- 重用SQL语句块-->
<sql>
<-- 描述数据库结果集 和 对象对应的关系-->
<resultMap>

先学核心业务->再学繁杂配置

重点是 查增删改查 语句,就是

<select>
<insert>
<delete>
<update>

parameter [pəˈræmɪtər]参数

param [ˈpərəm]参数

下午任务:

我太失望了,终于好了image-20220713172209909

在controller写上

@RestController
public class Controller {
    @Autowired
    UserDao userDao;
    @GetMapping("findAll")
    public List<User> ads() {
        List<User> all = userDao.findAll();
        return all;
    }
}

UserDao.java接口写上

@Mapper
public interface UserDao {
    @Select("select * from user")
    List<User>findAll();
}

Application.java添加包扫描

@MapperScan("com.example.demo.dao")

这是实体类,就两个属性 name 和 age

public class User implements Serializable {
    private static final long serialVersionUID = 683645257979379842L;
    private String name;
    private Integer age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }

}

下午大部分时间在改bug,关于我死活500的事,然后用了

    @Select("select * from p_test")
    List<PTest>findAll();

就能返回任务数据库的集合了

image-20220713173858218

posted @ 2022-07-13 19:48  scwelcome  阅读(34)  评论(0)    收藏  举报