`
yikeshaweng
  • 浏览: 3361 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

ibatis分页

阅读更多
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分页功能"指的就是如何在iBATIS框架中实现数据库查询的分页效果。分页不仅提高了用户体验,还能减少不必要的数据库负载。 描述中提到,分页功能是通过`page.tld`标签实现的。`tld`文件是JSP Tag Library...

    ibatis 之分页

    本文将深入探讨Ibatis实现分页的相关知识点,并基于提供的标签“源码”和“工具”,分享如何在实际项目中运用Ibatis进行分页处理。 首先,了解Ibatis的基本概念。Ibatis是由Apache基金会维护的一个开源项目,它是一...

    iBatis分页源代码解析.chm

    iBatis分页源代码解析.chm,ibatis介绍等

    iBatis分页(基于Struts2和Freemarker)

    本知识点将深入探讨如何在Struts2框架中结合iBatis实现基于Freemarker模板的分页功能。 首先,我们需要理解iBatis,它是一个轻量级的Java持久层框架,它提供了一个SQL映射框架,允许开发者将SQL语句与Java代码分离...

    对IBatis分页的改进,使ibatis支持hibernate式的物理分页

    公司的大部分项目都开始使用IBatis作为O/R Mapping了,但是在使用的过程中也发现了很多不方便和存在争议的地方,其中一个不方便的地方就是分页,目前的处理方式都是在sqlMap中写针对特定数据库的物理分页Sql语句,对于...

    ibatis分页技术

    ### ibatis分页技术详解与应用 在软件开发领域,特别是在数据库操作中,分页是一项极为常见的需求。分页不仅可以优化用户体验,减少加载时间,还能有效地管理大量的数据查询结果。Ibatis,作为一款优秀的持久层框架...

    Xwork+iBatis分页

    本篇文章将深入探讨如何在Xwork和iBatis的集成应用中实现分页功能,让开发者能够更高效地处理大量数据。 首先,让我们了解什么是分页。分页是网页显示大量数据时常用的一种技术,它将结果集分割成若干小部分(页)...

    对IBatis分页的改进,使ibatis支持hibernate式的物理分页.doc

    在传统的iBatis框架中,分页通常采用逻辑分页的方式,即通过游标(ResultSet)来逐条处理数据,从而实现分页效果。这种方式虽然跨数据库兼容性好,但性能上不如数据库原生的物理分页高效。物理分页是直接在SQL语句中...

    ibatis实现分页技术

    三、Ibatis分页实现 1. SQL配置 在Ibatis的Mapper XML文件中,我们需要编写一个带有参数的SQL查询,这些参数通常包括当前页码和每页记录数。例如: ```xml SELECT * FROM your_table != null and pageSize != ...

    基于ibatis的分页

    本项目基于ibatis框架实现了分页功能,覆盖了从底层数据库操作到页面展示的完整流程,包括DAO层、Service层、Action层以及JSP页面的展示。 首先,我们来了解一下什么是ibatis。Ibatis是一个优秀的持久层框架,它...

    ibatis_likehbm高效分页组件

    ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件 ibatis_likehbm高效分页组件 ibatis_likehbm...

    Ibatis 2.3.4 数据库无关分页

    在2.3.4这个版本中,Ibatis 提供了数据库无关的分页功能,这是一种在不依赖特定数据库语法的情况下实现分页查询的方法,有助于提高代码的可移植性和维护性。 数据库无关分页的核心思想是将分页参数(如当前页数和每...

    ibatis 分页源码修改jar

    NULL 博文链接:https://jsufly.iteye.com/blog/508249

    例1:struts2+spring+ibatis 实现分页

    你可以定义一个Mapper接口和XML配置文件,编写SQL查询来获取指定页码的数据,并通过iBatis的参数映射功能传入分页参数。 文件列表中的`.classpath`和`.project`是Eclipse或类似的IDE的项目配置文件,它们定义了项目...

    ibatis_with_memcached

    本项目"ibatis_with_memcached"就是关于如何将Ibatis与Memcached集成,实现高效的数据库缓存策略的实例。 Ibatis是一个基于Java的SQL映射框架,它允许开发者编写SQL语句并与Java对象进行绑定,从而避免了传统的JDBC...

    ibatis物理分页jar

    ibatis 物理分页jar ,与官方ibatis不冲突,可直接使用。

    iBatis开发指南和一个iBatis实例

    "iBatis分页"是数据库操作中常见的需求,iBatis提供了方便的分页支持。在学习这部分时,你会了解如何在SQL中添加分页条件,以及如何在Java代码中处理分页结果。 "spring+iBatis处理1对多数据表实例"展示了如何将...

    Ibatis.net 分页

    Ibatis.NET提供了分页查询的实现,下面我们将深入探讨如何在Ibatis.NET中实现分页。 首先,理解分页的基本概念。分页通常涉及两个关键参数:当前页码(Page Number)和每页记录数(PageSize)。例如,如果当前页码...

    Ibatis SQLServerDialect 2008 分页

    Ibatis SQLServerDialect 2008 分页 可实现SQLServerDialect 分页 支持ibatis3

Global site tag (gtag.js) - Google Analytics