笨笨学java day02

Mybatis(编写接口方法-编写SQL-执行方法

Q1.什么是POJO类,与实体类Entity有何区别

POJO(Plain Old Java Object)类和实体类(Entity)是Java编程中的两个概念,虽然它们有时可以互换使用,但在实际使用中有一些细微的区别:

POJO类

POJO类是指一个简单的Java对象,它不依赖于任何特定的框架或库,通常只包含字段(属性)、getter和setter方法以及少量业务逻辑。它没有特定的约定或要求。其主要特点包括:

  • 不继承或实现任何特定的类或接口(除非是Java的标准类或接口)。
  • 没有使用任何特定的注解。
  • 仅包含私有字段和公开的getter和setter方法。
  • 可以包含一些简单的业务逻辑方法。

 实体类

实体类通常指的是持久化到数据库中的对象。在Java EE或Spring等框架中,实体类通常与JPA(Java Persistence API)一起使用,并通过注解来映射数据库表。实体类除了包含POJO类的基本特性外,还包括一些特定的注解和ORM(对象关系映射)相关的配置。

实体类的主要特点包括:

  • 使用@Entity注解将类标记为实体类。
  • 通常使用@Table注解来指定数据库表名。
  • 使用@Id注解来标识主键字段。
  • 可能包含其他JPA注解,如@Column@OneToMany@ManyToOne等,以配置数据库表和字段的映射关系。
 Q2.数据库与连接池的关系

数据库

数据库是用于存储和管理数据的系统,可以是关系数据库(如MySQL、PostgreSQL、Oracle)或非关系数据库(如MongoDB、Redis)。数据库负责持久化数据、处理查询和执行事务等操作。

连接池

连接池是一种管理数据库连接的机制,用于复用数据库连接以提高应用程序的性能。连接池维护一定数量的数据库连接,并在需要时将这些连接分配给应用程序,而不是每次需要访问数据库时都创建和关闭连接。

Q3.useSSL=false是什么意思

在数据库连接配置中,useSSL=false 是一个参数设置,用于指示数据库客户端(例如Java应用程序中的JDBC连接)在连接数据库服务器时是否使用SSL(Secure Sockets Layer)进行加密。

Q4.什么是全限定名

在编程中,全限定名(Fully Qualified Name,FQN)指的是一个类、方法、字段、或包的完整名称,包括其所在的包路径。全限定名用于唯一标识一个编程元素,避免命名冲突,特别是在大型项目中或使用多个库时。

全限定名的结构

在Java中,全限定名通常包括包名和类名。例如:

  • 包名:com.example.myapp
  • 类名:MyClass

那么这个类的全限定名就是:com.example.myapp.MyClass

Q5.接口里面的方法有无限定

在Java中,接口(interface)中的方法默认都是public的。这是因为接口的设计目的是定义一组规范或契约,规定实现这些接口的类必须提供的行为。这些方法需要对所有实现类可见,因此它们默认是public的。

Q6.什么是SQL注入

SQL注入(SQL Injection)是一种代码注入攻击,通过将恶意SQL代码插入到应用程序的输入字段中,攻击者可以操纵应用程序生成并执行恶意的SQL查询。其目的是绕过应用程序的安全机制,获取、修改或删除数据库中的数据,甚至控制数据库服务器。

举例

SELECT * FROM users WHERE username = 'user' AND password = 'pass';

如果攻击者在用户名字段中输入 ' OR '1'='1,在密码字段中输入任何内容,例如 pass,那么生成的SQL查询将变成:

SELECT * FROM users WHERE username = '' OR '1'='1' AND password = 'pass';

由于 '1'='1' 总是为真,这个查询将返回users表中的所有记录,从而允许攻击者绕过身份验证。

 Q7.Map与Collection
  • Collection:表示一组对象(元素),常见子接口包括 List(有序,允许重复)、Set(无序,不允许重复)和 Queue(先进先出)。
  • Map:表示键值对映射,每个键唯一对应一个值,键不允许重复,值可以重复。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值