package 包名; import java.util.Date; public class Employee { private String id; private String loginname; private String name; private String age; private Date birthday; private String dept_id; private String position; private String gender; private String married; private String salary; private String educational; private String country; private String city; private String remarks; private String school; private Date createtime; private String email; public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; } public String getDept_id() { return dept_id; } public void setDept_id(String dept_id) { this.dept_id = dept_id; } public String getEducational() { return educational; } public void setEducational(String educational) { this.educational = educational; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getLoginname() { return loginname; } public void setLoginname(String loginname) { this.loginname = loginname; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getMarried() { return married; } public void setMarried(String married) { this.married = married; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPosition() { return position; } public void setPosition(String position) { this.position = position; } public String getRemarks() { return remarks; } public void setRemarks(String remarks) { this.remarks = remarks; } public String getSalary() { return salary; } public void setSalary(String salary) { this.salary = salary; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } }
package 包名; import java.util.HashMap; import java.util.List; import java.util.Map; public class PageModel<T> { //结果集 private T model; //查询记录数 private int totalRecords; //每页多少条数据 private int pageSize=10; //第几页 private int pageNo; private int startIndex; private int endIndex; public int getEndIndex() { return endIndex; } public void setEndIndex(int endIndex) { this.endIndex = endIndex; } public int getStartIndex() { return startIndex; } public void setStartIndex(int startIndex) { this.startIndex = startIndex; } /** * 总页数 * @return */ public int getTotalPages() { return (totalRecords + pageSize - 1) / pageSize; } /** * 取得首页 * @return */ public int getTopPageNo() { return 1; } /** * 上一页 * @return */ public int getPreviousPageNo() { if (pageNo <= 1) { return 1; } return pageNo - 1; } /** * 下一页 * @return */ public int getNextPageNo() { if (pageNo >= getBottomPageNo()) { return getBottomPageNo(); } return pageNo + 1; } /** * 取得尾页 * @return */ public int getBottomPageNo() { return getTotalPages(); } public int getTotalRecords() { return totalRecords; } public void setTotalRecords(int totalRecords) { this.totalRecords = totalRecords; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getPageNo() { return pageNo; } public void setPageNo(int pageNo) { this.pageNo = pageNo; } public T getModel() { return model; } public void setModel(T model) { this.model = model; } }
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" > <sqlMap namespace="Employee"> <resultMap id="Employee.EmployeeResult" class="com.huasoft.common.domain.Employee" > <result column="ID" property="id" jdbcType="VARCHAR" /> <result column="LOGINNAME" property="loginname" jdbcType="VARCHAR" /> <result column="NAME" property="name" jdbcType="VARCHAR" /> <result column="AGE" property="age" jdbcType="VARCHAR" /> <result column="BIRTHDAY" property="birthday" jdbcType="TIMESTAMP" /> <result column="DEPT_ID" property="dept_id" jdbcType="VARCHAR" /> <result column="POSITION" property="position" jdbcType="VARCHAR" /> <result column="GENDER" property="gender" jdbcType="VARCHAR" /> <result column="MARRIED" property="married" jdbcType="VARCHAR" /> <result column="SALARY" property="salary" jdbcType="VARCHAR" /> <result column="EDUCATIONAL" property="educational" jdbcType="VARCHAR" /> <result column="COUNTRY" property="country" jdbcType="VARCHAR" /> <result column="CITY" property="city" jdbcType="VARCHAR" /> <result column="REMARKS" property="remarks" jdbcType="VARCHAR" /> <result column="SCHOOL" property="school" jdbcType="VARCHAR" /> <result column="CREATETIME" property="createtime" jdbcType="TIMESTAMP" /> <result column="EMAIL" property="email" jdbcType="VARCHAR" /> </resultMap> <select id="Employee.selectListByCondition" parameterClass="java.util.HashMap" resultMap="Employee.EmployeeResult"> select * from (select ROWNUM ROW_NUM,t.* from ( select id, loginname, age, birthday, dept_id, position, gender, married, salary, educational, country, city, remarks, school, createtime, e mail,name from t_employee where +"条件根据自己项目实际需求") t) WHERE ROW_NUM BETWEEN #page.startIndex# AND #page.endIndex# </select> </sqlMap>
package 包名; import java.io.Serializable; import java.util.List; public interface BaseDao<T> { /** * sql查询列表 * * @param statementId * sql语句名称后缀 * @param parameters * sql参数 * @return 查询结果 */ List<T> queryForList(T model,String statementId, int startIndex,int endIndex); }
package 包名; import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.HashMap; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; public class BaseDaoImpl<T> extends SqlMapClientDaoSupport implements BaseDao<T>{ public <T> T queryForList(T model, String statementId,int startIndex,int endIndex) { PageModel<T> page=new PageModel<T>(); page.setModel(model); page.setStartIndex(startIndex); page.setStartIndex(endIndex); Map map=new HashMap(); map.put("page",page); List<T> list=getSqlMapClientTemplate().queryForList("statementId",map); return list; } }
package 包名 import java.util.List public class Test{ public static void main(String args[]){ BaseDao<Employee> base=new BaseDaoImpl<>(); Employee employee=new Employee (); //从数据库中取出前10条记录 List list=base.queryForList(employee,"statementId",1,10); //遍历list集合 } }
<!--spring配置文件--> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!--jndi数据源--> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/dljxkp"/> <property name="lookupOnStartup" value="false"/> <property name="cache" value="true"/> <property name="proxyInterface" value="javax.sql.DataSource"/> </bean> <!-- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@数据库IP地址:1521:SID" /> <property name="username" value="数据库用户名" /> <property name="password" value="数据库密码" /> </bean> --> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value>classpath:sqlmap配置文件</value> </property> <property name="dataSource"><ref bean="dataSource"/></property> </bean> <bean id="baseDao" class="包名+类名Impl"> <property name="sqlMapClient" ref="sqlMapClient"/> </bean> </beans>
<!--web.xml配置文件--> <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- 用于初始化Spring容器的Listener --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:/spring配置文件 </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> <resource-ref> <res-ref-name>jdbc/名称</res-ref-name> <res-type>java.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> </web-app>
<!--sqlMap配置文件--> <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <sqlMap resource="ibatis映射文件"/> </sqlMapConfig> http://shopsale.sinaapp.com
相关推荐
标题"ibatis分页功能"指的就是如何在iBATIS框架中实现数据库查询的分页效果。分页不仅提高了用户体验,还能减少不必要的数据库负载。 描述中提到,分页功能是通过`page.tld`标签实现的。`tld`文件是JSP Tag Library...
本文将深入探讨Ibatis实现分页的相关知识点,并基于提供的标签“源码”和“工具”,分享如何在实际项目中运用Ibatis进行分页处理。 首先,了解Ibatis的基本概念。Ibatis是由Apache基金会维护的一个开源项目,它是一...
iBatis分页源代码解析.chm,ibatis介绍等
本知识点将深入探讨如何在Struts2框架中结合iBatis实现基于Freemarker模板的分页功能。 首先,我们需要理解iBatis,它是一个轻量级的Java持久层框架,它提供了一个SQL映射框架,允许开发者将SQL语句与Java代码分离...
公司的大部分项目都开始使用IBatis作为O/R Mapping了,但是在使用的过程中也发现了很多不方便和存在争议的地方,其中一个不方便的地方就是分页,目前的处理方式都是在sqlMap中写针对特定数据库的物理分页Sql语句,对于...
### ibatis分页技术详解与应用 在软件开发领域,特别是在数据库操作中,分页是一项极为常见的需求。分页不仅可以优化用户体验,减少加载时间,还能有效地管理大量的数据查询结果。Ibatis,作为一款优秀的持久层框架...
本篇文章将深入探讨如何在Xwork和iBatis的集成应用中实现分页功能,让开发者能够更高效地处理大量数据。 首先,让我们了解什么是分页。分页是网页显示大量数据时常用的一种技术,它将结果集分割成若干小部分(页)...
在传统的iBatis框架中,分页通常采用逻辑分页的方式,即通过游标(ResultSet)来逐条处理数据,从而实现分页效果。这种方式虽然跨数据库兼容性好,但性能上不如数据库原生的物理分页高效。物理分页是直接在SQL语句中...
三、Ibatis分页实现 1. SQL配置 在Ibatis的Mapper XML文件中,我们需要编写一个带有参数的SQL查询,这些参数通常包括当前页码和每页记录数。例如: ```xml SELECT * FROM your_table != null and pageSize != ...
本项目基于ibatis框架实现了分页功能,覆盖了从底层数据库操作到页面展示的完整流程,包括DAO层、Service层、Action层以及JSP页面的展示。 首先,我们来了解一下什么是ibatis。Ibatis是一个优秀的持久层框架,它...
ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件 ibatis_likehbm高效分页组件 ibatis_likehbm...
在2.3.4这个版本中,Ibatis 提供了数据库无关的分页功能,这是一种在不依赖特定数据库语法的情况下实现分页查询的方法,有助于提高代码的可移植性和维护性。 数据库无关分页的核心思想是将分页参数(如当前页数和每...
NULL 博文链接:https://jsufly.iteye.com/blog/508249
你可以定义一个Mapper接口和XML配置文件,编写SQL查询来获取指定页码的数据,并通过iBatis的参数映射功能传入分页参数。 文件列表中的`.classpath`和`.project`是Eclipse或类似的IDE的项目配置文件,它们定义了项目...
本项目"ibatis_with_memcached"就是关于如何将Ibatis与Memcached集成,实现高效的数据库缓存策略的实例。 Ibatis是一个基于Java的SQL映射框架,它允许开发者编写SQL语句并与Java对象进行绑定,从而避免了传统的JDBC...
ibatis 物理分页jar ,与官方ibatis不冲突,可直接使用。
"iBatis分页"是数据库操作中常见的需求,iBatis提供了方便的分页支持。在学习这部分时,你会了解如何在SQL中添加分页条件,以及如何在Java代码中处理分页结果。 "spring+iBatis处理1对多数据表实例"展示了如何将...
Ibatis.NET提供了分页查询的实现,下面我们将深入探讨如何在Ibatis.NET中实现分页。 首先,理解分页的基本概念。分页通常涉及两个关键参数:当前页码(Page Number)和每页记录数(PageSize)。例如,如果当前页码...
Ibatis SQLServerDialect 2008 分页 可实现SQLServerDialect 分页 支持ibatis3