ibatis多个条件查询的解决办法总结
sql语句为:select * from t_user where name=#name# and sex=#sex#;
1.拼字符串,sql语句改为select * from t_user where $sql$(是$,而不是#);
String sql=" name='name' and sex='sex' ";也就是将多个参数拼成一个字符串,用这个
字符串作为参数。
2.用map作参数。将parameterClass的值改为java.util.Map,在程序中创建个map对象,
以sql语句中的变量为健,map.put("name", "liang");map.put("sex", "0");再将这个
map作为查询方法的参数。
3.用parameterMap。配置文件中加入:
<parameterMap class="java.util.Map" id="param">
<parameter property="name"/>
<parameter property="sex"/>
</parameterMap>
sql语句改为:select * from t_user where name=? and sex=?
配置文件中的select标签中添加parameterMap="param",去掉parameterClass。
然后在程序中建map,以parameterMap中的参数为健。
这里有个疑问,就是这种方法和第二种方法本质上有什么区别?
4.新建个pojo,笨方法。
分享到:
相关推荐
调用方法时,iBatis会根据条件执行删除操作。 三、执行数据库函数和过程 iBatis同样支持调用数据库的自定义函数和存储过程。在XML映射文件中,可以使用`<select>`、`<insert>`、`<update>`或`<delete>`标签来调用...
相对于全自动化ORM解决方案如Hibernate,iBATIS被称为“半自动化”ORM实现,因为它允许开发者直接编写SQL语句,保持对数据库查询的精细控制。 一、iBATIS的核心要素——SQL Maps SQL Maps是iBATIS的核心,通过XML...
提供一个JavaBean、Map或原始类型包装对象作为参数,这些对象的值会被用来设置SQL语句中的输入值或查询条件。 2. **执行映射语句**: iBATIS会创建一个PreparedStatement实例,根据传入的对象参数执行SQL语句。 ...
例如,一个订单可以包含多个商品项,这是一对多关系;反之,一个商品可能被多个订单购买,这是多对一关系。iBATIS提供了集合映射和关联映射的方式来处理这些关系,使我们能够在Java对象中方便地操作这些复杂的数据...
iBATIS,全称“Infrastructure Based Application Toolkit Integrated Solutions”,是一个基于Java的持久层框架,它允许开发者将SQL语句直接写在配置文件中,解决了在Java应用中操作数据库的复杂性,极大地提高了...
你可以创建一个简单的CRUD(创建、读取、更新、删除)应用,或者参与更复杂的业务逻辑,如分页查询、多表联查等。这将帮助你熟悉iBatis的配置、接口调用以及异常处理。 总结,iBatis作为一款强大的数据访问框架,为...
总结来说,iBatis是一个强大且灵活的持久层框架,它通过XML配置和Java代码实现了数据库操作的封装,提供了丰富的映射方式和事务管理策略,使得开发人员能更高效地进行数据库交互。无论是简单还是复杂的数据库操作,...
iBatis(现在称为MyBatis)是由Apache软件基金会维护的一个开源项目,它解决了Java应用程序直接操作数据库时面临的许多问题,如SQL的动态生成、事务管理等。iBatis的核心理念是将SQL语句写在XML配置文件中,通过Java...
在iBatis 3.1版本中,框架进一步优化了设计,提供了更多便捷的功能和性能提升。 文档的结构通常包括以下几个部分: 1. **介绍**:简要介绍iBatis 3.1的主要特点、设计理念以及与MyBatis(iBatis的后续发展项目)的...
Ibatis作为一个轻量级的持久层框架,因其灵活的SQL定制、简单的使用方式以及良好的性能,在很多项目中被广泛应用。通过对SqlMapConfig.xml、Mapper XML和Mapper接口的配置,可以轻松地实现数据访问层的操作。其动态...
- **动态SQL**:支持在XML映射文件中编写动态SQL,根据条件灵活生成查询。 - **数据缓存**:提供缓存机制,减少对数据库的频繁访问,提高性能。 - **事务管理**:支持手动和自动的事务管理,确保数据的一致性。 - **...
一级缓存是SqlSession级别的,对于同一个SqlSession内的多次查询,如果查询条件相同,会直接返回缓存的结果。二级缓存则是Mapper级别的,允许跨SqlSession共享数据。 7. 事务管理:Ibatis与Spring等框架集成良好,...
总结来说,iBATIS 2.3.0.677版是一个强大的持久层框架,它通过SQL Maps和映射器接口实现了SQL与Java代码的解耦,简化了数据库操作,提高了开发效率,同时也提供了诸如动态SQL、缓存和事务管理等高级功能,使开发者...
总结来说,IBatis.Net 1.9.2 和 IBatis.DataMapper 1.6.2 是.NET平台上的重要数据访问框架,它们通过灵活的映射和查询机制,帮助开发者构建高效、可维护的数据库应用。尽管当前可能已被其他框架取代,但对于了解和...
iBatis提供了事务管理机制,可以通过SqlSessionFactory的openSession方法开启一个新的SqlSession,该SqlSession默认会自动提交事务,也可以选择手动控制事务的提交和回滚。 总结,`ibatis-core-3.0.jar`作为iBatis...
iBatis起源于MyBatis的早期版本,它是一个轻量级的ORM(对象关系映射)框架,主要解决了在Java应用中操作数据库时的繁琐工作。iBatis的优势在于它的灵活性,可以自由控制SQL语句,同时提供动态SQL的功能。 ## 二、...
- **多表查询**:介绍处理多表联接查询的方法。 #### 2.5 事务管理 - **事务概念**:解释事务的基本原理及其在iBATIS中的应用。 - **配置方法**:指导如何配置iBATIS以支持不同的事务管理方式。 #### 2.6 动态SQL ...
iBATIS是一个由Clinton Begin创建,目前由Apache基金会支持的持久化框架,它专注于数据库访问层的加速,提供了一种半自动ORM(对象关系映射)解决方案。相对于Hibernate等一站式ORM解决方案,iBATIS允许开发者更灵活...
iBatis是由Apache基金会维护的一个轻量级框架,它的主要目标是解决Java应用与数据库之间的数据交互问题。它避免了传统的JDBC代码繁琐的编写,将SQL与Java代码分离,使开发更专注于业务逻辑。iBatis支持XML和注解两种...