笨笨学java day03

Q1.properties和yaml配置文件的区别

Properties 文件

  • 扩展名通常为 .properties
  • 格式为简单的键值对,每行一个配置项。
  • 注释使用 #! 开头。
  • 值不能嵌套或分层。
# Application properties
server.port=8080
database.url=jdbc:mysql://localhost:3306/mydb
database.username=root
database.password=secret

YAML 文件

  • 扩展名通常为 .yaml.yml
  • 格式更具可读性,支持层次结构,类似于 JSON。
  • 注释使用 # 开头。
  • 支持复杂的数据结构,如列表、字典和嵌套对象。
# Application configuration
server:
  port: 8080

database:
  url: jdbc:mysql://localhost:3306/mydb
  username: root
  password: secret
Q2.mapper接口上添加@Repository与@Mapper有何区别? 

@Repository 和 @Mapper 的区别

  • 来源和用途
    • @Repository:来自 Spring 框架,用于标识数据访问层组件。
    • @Mapper:来自 MyBatis 框架,用于标识 MyBatis 的 Mapper 接口。
  • 功能差异
    • @Repository:提供数据访问异常转换机制,参与 Spring 的组件扫描。
    • @Mapper:将接口注册为 MyBatis 的 Mapper,MyBatis 会为其生成实现类。
  • 使用 @Mapper:如果你在每个 Mapper 接口上添加了 @Mapper 注解,通常情况下不需要在启动类中显式配置 @MapperScan,因为 MyBatis-Spring-Boot-Starter 会自动扫描这些接口。
  • 使用 @MapperScan:如果你不想在每个 Mapper 接口上添加 @Mapper 注解,可以在启动类或配置类中使用 @MapperScan 注解来指定 Mapper 接口所在的包。
  • 两者结合:也可以同时使用 @Mapper@MapperScan 以确保所有 Mapper 接口都被正确扫描和注册。

Java 中的 long 类型和数据库中的 BIGINT 类型之间的映射是因为它们都是 64 位有符号整数,并且具有相同的值范围。这种映射确保了在将数据从数据库加载到 Java 应用程序时,数据的范围和表示方式保持一致,从而避免数据溢出或丢失。常见的 ORM 框架会自动处理这种映射,使得开发人员无需手动处理数据类型之间的转换。 

Q3.public class UserServiceImpl extends ServiceImpl<UserMapper,User>implements UserService 解释一下这段代码 

主要组件解析

  1. UserServiceImpl:这是一个 Service 实现类,负责具体的业务逻辑实现。
  2. ServiceImpl<UserMapper, User>ServiceImpl 是 MyBatis-Plus 提供的一个基础实现类,简化了常见的 CRUD 操作。它需要两个泛型参数:
    • UserMapper:Mapper 接口,负责数据库操作。
    • User:实体类,表示数据库表中的一行数据。
  3. UserService:这是一个 Service 接口,定义了业务逻辑方法。

继承和实现关系

  • 继承 ServiceImpl:通过继承 ServiceImpl 类,UserServiceImpl 类自动具备了 MyBatis-Plus 提供的各种基础 CRUD 方法,比如 saveremoveupdategetById 等。ServiceImpl 类已经实现了 IService 接口。
  • 实现 UserServiceUserService 接口可以定义额外的业务方法。UserServiceImpl 通过实现 UserService 接口,可以在这个类中实现自定义的业务逻辑。

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值