`
yzz9i
  • 浏览: 223478 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

ibatis中的分页、模糊查询、修改 等基本sql语句

阅读更多

创建session单例类:
public class SessionUtil {
private static SqlSessionFactory factory;
static{
Reader reader = null;
try {
reader = Resources.getResourceAsReader("config.xml");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
factory   = new SqlSessionFactoryBuilder().build(reader,"MySql");
}

public static SqlSession  getSession(){
return factory.openSession();
}


}

   <!-- 逻辑分页 -->
SqlSession  session = SessionUtil.getSession();
<select id="getAllDep"  resultType="com.pojos.Dep">
       select * from dep
   </select>
   【
// 从第几个开始,显示几个
// 每页3条,显示第8页
// new RowBounds(3*(8-1),3))
List<Dep> list = session.selectList("stu.getAllDep",null,new RowBounds(6,3));
    】

 

  
   <!-- 物理分页 -->
   <select id="getAllDep2"  resultType="com.pojos.Dep" parameterType="map">
       select * from dep limit #{x},#{y}
   </select>
   【
// 从第几个开始,显示几个
// 每页3条,显示第2页
// new RowBounds(3*(2-1),3))
SqlSession  session = SessionUtil.getSession();
Map map = new HashMap();
map.put("x",3*(2-1));
map.put("y", 3);

List<Dep> list = session.selectList("stu.getAllDep2",map);
    】

     
   <!-- 模糊查询实现 -->
   <select id="mohu" resultType="com.pojos.Dep">
      select * from dep where depname like concat('%',concat(#{depname},'%'))
   </select>
   【
SqlSession  session = SessionUtil.getSession();
List<Dep> list = session.selectList("stu.mohu","要搜索的字");
    】
//sql语句块 用可调用:
   <sql id="whereDep">
       <where>
           <if test="depid!=null and depid!=''">
               depid=#{depid}
           </if>
          
           <if test="depname!=null and depname!=''">
               and depname like concat(#{depname},'%')
           </if>
        </where>
   </sql>
  
   <!-- 动态sql之where和if -->
   <select id="dt1" resultType="com.pojos.Dep" parameterType="com.pojos.Dep">
        select * from dep
          <include refid="whereDep"/>
       
   </select>
  【
SqlSession  session = SessionUtil.getSession();

Dep dep2 = new Dep();
dep2.setDepid(1);
dep2.setDepname("国");
List<Dep> list = session.selectList("stu.dt1",dep2);
   】  


  
   <!-- 动态sql之修改 -->
   <update id="dt2" parameterType="com.pojos.Dep">
       update dep
         <set>
           <if test="depid!=null and depid!=''">
               depid=#{depid},
           </if>
          
           <if test="depname!=null and depname!=''">
               depname=#{depname}
           </if>
         </set>
        
          <if test="depid!=null and depid!=''">
               where depid=#{depid}
           </if>
   </update>
   【
SqlSession  session = SessionUtil.getSession();

Dep dep2 = new Dep();
dep2.setDepid(1);
dep2.setDepname("国");
int n = session.update("stu.dt2",dep2);
session.commit();
session.close();
    】  

  
   <!-- 动态sql之循环  collection="list/arry" -->
   <select id="dt3" resultType="com.pojos.Dep">
         select * from dep where depid in
            <foreach collection="list" item="x" open="(" close=")" separator=",">
               #{x}
            </foreach>
   </select>
   【
SqlSession  session = SessionUtil.getSession();

    List aa = new ArrayList();
aa.add(1);
aa.add(3);
aa.add(4);
aa.add(2);


List<Dep> list = session.selectList("stu.dt3",aa);
    】
  
1
2
分享到:
评论

相关推荐

    ibatis 之分页

    在分页查询方面,Ibatis允许我们在SQL语句中直接添加LIMIT和OFFSET子句,或者使用自定义的分页插件来实现。 1. **SQL映射分页**:在Ibatis的XML配置文件中,我们可以直接编写包含分页条件的SQL语句。例如,对于...

    ibatis实现分页技术

    通过这两个参数,我们可以计算出数据库中需要查询的起始位置和结束位置,然后执行相应的SQL语句获取指定范围内的数据。 三、Ibatis分页实现 1. SQL配置 在Ibatis的Mapper XML文件中,我们需要编写一个带有参数的SQL...

    ibatis分页

    标题中的“ibatis分页”指的是在使用iBATIS(一个SQL映射框架)时,如何实现数据库查询结果的分页显示。iBATIS通过XML配置文件或注解方式将Java代码与SQL语句分离,提供了更灵活的数据库操作方式。在处理大量数据时...

    Ibatis.net 分页

    2. **动态SQL**:Ibatis.NET支持动态SQL,可以直接在XML映射文件中编写分页查询语句。利用`&lt;if&gt;`标签检查参数是否为空,然后在查询中加入ORDER BY和LIMIT子句。 ```xml SELECT * FROM Users WHERE 1=1 != null...

    基于ibatis的分页

    Ibatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在配置文件中,避免了传统JavaEE开发中大量繁琐的JDBC代码。Ibatis通过Mapper接口和XML配置文件,实现了SQL与Java代码的分离,使得SQL的编写更加灵活,...

    Ibatis 2.3.4 数据库无关分页

    Ibatis 是一款轻量级的Java持久层框架,它提供了SQL映射功能,使得开发者能够将SQL语句与Java代码分离,从而实现更灵活的数据访问。在2.3.4这个版本中,Ibatis 提供了数据库无关的分页功能,这是一种在不依赖特定...

    ibatis mybatis 分页 crud 完整代码

    CRUD操作在Ibatis中通过SqlMapClient或SqlSession对象来完成,这些对象可以执行预定义的SQL语句,如Insert、Select、Update和Delete。 2. **Mybatis**: Mybatis 是Ibatis的升级版,它在Ibatis的基础上进行了优化...

    修改ibatis源代码实现物理分页

    在`intercept`方法中,我们可以获取到`Executor`对象,进一步获取到`StatementHandler`,然后利用反射修改预编译的SQL语句,加入分页关键字。 3. **配置文件修改**:在Ibatis的配置文件中,需要启用插件并注册我们...

    spring+ibatis+oracle分页缓存源码

    iBatis则是一个持久层框架,它将SQL语句与Java代码分离,提高了代码的可维护性和灵活性。在Spring+iBatis的组合中,iBatis作为数据访问层,负责执行SQL查询,与数据库进行交互。通过配置XML映射文件或注解,iBatis...

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

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

    ibatis动态SQL标签用法

    iBatis提供了动态SQL片段的功能,可以将SQL语句拆分成小的、独立的片段,然后根据不同的条件组合这些片段生成最终的SQL语句。这可以提高代码的可重用性和灵活性。 例如,在上面的代码中,我们定义了三个动态SQL片段...

    ibatis分页功能

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

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

    iBatis则是一个持久层框架,它提供了SQL语句和Java代码的解耦,使得数据库操作更易于维护。在分页场景下,iBatis的动态SQL功能非常有用。你可以定义一个Mapper接口和XML配置文件,编写SQL查询来获取指定页码的数据,...

    iBatis分页(基于Struts2和Freemarker)

    在IT行业中,数据库查询的效率和用户体验息息相关,尤其是在数据量庞大的场景下,分页功能显得尤为重要。本知识点将深入探讨如何在Struts2框架中结合iBatis实现基于Freemarker模板的分页功能。 首先,我们需要理解...

    SSI整合,有ibatis连接oracle的分页,ajax等技术

    而Ibatis是一个轻量级的Java持久层框架,它允许开发者将SQL语句直接写在配置文件中,与ORM(对象关系映射)框架相比,提供了更大的灵活性。 在这个项目中,"SSI整合"指的是开发者将SSI技术应用到项目中,可能是在...

    Ibatis查询语句里,可以使用多表查询

    通过上述示例,我们可以了解到如何在 iBatis 中编写复杂的 SQL 查询语句,并且如何通过定义合适的 `ResultMap` 来处理查询结果。这对于实际项目开发具有重要的指导意义,有助于开发者更好地利用 iBatis 提高开发效率...

    ibatis sql生成工具

    此外,该工具可能还包含了对复杂的查询条件的支持,比如模糊搜索、分页查询等,这些在生成的SQL中会以动态SQL的形式出现,使得代码更加简洁和易于维护。对于大型项目而言,这种自动化生成的功能能够显著减少编码时间...

    mysql,jdbc详解,与ibatis对比。批量查询,分页处理。

    - **Statement**: 可以执行静态SQL语句,但不支持参数化查询,每次执行都需要重新编译。 - **PreparedStatement**: 支持参数化查询,通过“?”作为占位符,预编译后可重复使用,提高了性能和安全性。 例如,使用`...

    spring+ibatis+jsp集成实现数据库查询分页

    3. **SQL映射文件**:在XML文件中编写SQL语句,包括查询、插入、更新和删除等操作。这些文件应与对应的Mapper接口一起放在资源目录下。 4. **Spring配置Mapper**:在Spring配置文件中,将Mapper接口与对应的XML映射...

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    在这个实例中,iBatis作为数据访问层,负责与Oracle数据库交互,执行分页查询和插入、更新、删除操作。它通过XML或注解方式定义SQL语句,使得数据库操作更加直观和灵活。 4. **Oracle**:Oracle数据库是企业级的...

Global site tag (gtag.js) - Google Analytics