2. 描述什么是懒加载 3. ${} 与 #{} 的区别 4. 使用分页插件进行分页查询book表的数据, 表的字段有: id name, author, price
时间: 2024-04-08 18:30:43 浏览: 12
2. 懒加载是一种延迟加载的机制,它用于在需要时才加载数据或资源,而不是在一开始全部加载。在数据库查询中,懒加载可以用于减少不必要的数据访问和提高查询效率。当使用懒加载时,只有当需要使用某个关联对象或属性时,才会进行实际的数据库查询操作,否则将延迟加载该数据。这样可以避免加载过多的数据,节省资源和提高性能。
3. ${} 和 #{} 是Mybatis中用于参数注入的两种方式。
- ${} 是字符串替换的方式,它会直接将参数值按照字符串拼接的方式替换到SQL语句中。这种方式存在SQL注入的风险,因为参数值会直接拼接到SQL语句中,没有经过预编译和参数化处理。
- #{} 是预编译处理的方式,它会将参数值以占位符的形式传递给SQL语句,并通过预编译的方式将参数值传递给数据库。这种方式可以有效地防止SQL注入,并且在处理特殊字符时更加安全。
总结来说,推荐使用#{}方式,它更加安全可靠。
4. 要使用分页插件进行分页查询book表的数据,首先需要在项目中引入分页插件,比如Mybatis的PageHelper。然后按照以下步骤进行操作:
1)在项目中配置分页插件,具体方式根据使用的分页插件而定,一般需要在配置文件中添加相应的配置项。
2)在Mapper接口中定义分页查询的方法,例如:
```java
List<Book> selectBooksByPage(int offset, int limit);
```
3)在Mapper XML文件中编写对应的SQL语句,使用分页插件提供的语法来实现分页查询,例如:
```xml
<select id="selectBooksByPage" resultType="Book">
SELECT * FROM book
LIMIT #{offset}, #{limit}
</select>
```
4)在Service或Controller层调用Mapper接口中定义的分页查询方法,并传递正确的参数进行查询,例如:
```java
int pageNo = 1; // 当前页码
int pageSize = 10; // 每页显示的数据量
int offset = (pageNo - 1) * pageSize; // 计算偏移量
List<Book> books = bookMapper.selectBooksByPage(offset, pageSize);
```
以上就是使用分页插件进行分页查询book表数据的基本步骤。具体的实现方式可能因使用的分页插件而有所不同,你可以根据具体的插件文档进行配置和使用。