Spring MVC 配置 Oracle 数据源实现分页查询
Spring MVC 配置 Oracle 数据源实现分页查询
本文将介绍如何在 Spring MVC 项目中配置第二个 Oracle 数据源,并使用 Hibernate 实现分页查询。
1. 配置第二个数据源
在 Spring MVC 的配置文件中,需要配置第二个数据源的数据源信息。假设第二个数据源为 Oracle 数据库,配置信息如下:
<bean id="dataSource2" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="username" value="username"/>
<property name="password" value="password"/>
</bean>
2. 配置第二个 SessionFactory
在 Spring MVC 的配置文件中,需要新增一个 SessionFactory,用于操作第二个数据源。配置信息如下:
<bean id="sessionFactory2" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource2"/>
<property name="packagesToScan" value="com.example.entity"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
3. 编写 DAO 层
在 DAO 层中,需要注入第二个 SessionFactory,并实现分页查询。假设要查询的表名为'table2',查询语句如下:
public List<Table2> findByPage(int pageNo, int pageSize) {
Session session = sessionFactory2.getCurrentSession();
Query query = session.createQuery("from Table2");
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
return query.list();
}
4. 编写 Controller 层
在 Controller 层中,需要注入 DAO,并调用 DAO 的方法查询数据。假设查询第 1 页,每页 10 条数据,代码如下:
@Autowired
private Table2DAO table2DAO;
@RequestMapping("/list2")
public ModelAndView list2(@RequestParam(defaultValue = "1") int pageNo) {
int pageSize = 10;
List<Table2> list = table2DAO.findByPage(pageNo, pageSize);
ModelAndView mav = new ModelAndView("list2");
mav.addObject("list", list);
mav.addObject("pageNo", pageNo);
mav.addObject("pageSize", pageSize);
return mav;
}
其中,list2 为返回的视图名称,可以在视图文件中展示查询到的数据。
原文地址: https://www.cveoy.top/t/topic/nTGY 著作权归作者所有。请勿转载和采集!