在使用ibatis做数据访问层时,有时会出现Error setting a property: IllegalArgumentException 异常,
该异常出现的一个原因是因为数据库中有null字段,尤其是非字符串字段,比如int类型,ibatis会使用Domain对象的set方法将数据库拿出来的值赋给Domain对象的属性,Domain对象属性为int时,将数据库中拿出的null赋值给int就会抛出这种错误,解决办法:
1. 将数据库类似int类型的字段赋上一个默认值,比如说0等。(当然不影响业务逻辑)
2. 将Domain对象的属性int等改为对应的装箱类型,比如Integer等,因为Integer可以为null,所以可以赋值。
3. 如果属性实在不想使用装箱类型,我们知道ibatis是依靠Domain的set方法进行赋值,所以可以改写set方法,比如:
public void setYear(Integer year) { if (year != null) { this.year = year; } }
相关推荐
【iBATIS In Action:使用映射语句(一)】 在深入探讨iBATIS的映射语句之前,我们首先要理解一些基本概念。iBATIS是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在XML文件中,通过映射语句与Java对象进行...
在IT行业中,Ibatis是一个广泛使用的轻量级Java ORM(对象关系映射)框架,它允许开发者将SQL查询与Java代码分离,提高了代码的可维护性和可读性。"ibatis_修改sqlmap不重启"这个主题聚焦于如何在开发过程中优化流程...
以下是对iBATIS简易使用的详细解释: 1. **环境准备**: - **jar文件**:iBATIS框架运行需要依赖一些库文件,包括`log4j`用于日志记录,`ibatis`核心库,以及`jdbc`驱动,这些都需要添加到项目的类路径中。 - **...
在Java开发中,Maven和iBatis是两个非常重要的工具。Maven是一个项目管理和综合工具,它帮助开发者管理依赖、构建项目,并提供了一种标准化的项目结构。而iBatis则是一个SQL映射框架,它将SQL语句与Java代码分离,...
要开始使用 Ibatis,首先需要从官方网站下载最新版本的 ibatis jar 包,以及 log4j 日志框架的 jar 包。然后,在Java项目中添加这些库,配置log4j.properties以开启SQL日志输出。接着,新建主配置文件sqlMapConfig....
在.NET中使用iBATIS时,首先需要安装iBATIS.NET库。可以通过NuGet包管理器或者直接下载源码编译来获取。在VS2008项目中,添加对iBATIS.NET的引用,这样就可以开始配置和使用了。 接着,我们看压缩包内的"数据库.txt...
1. **《iBATIS in Action》**: 这通常是一本关于iBATIS的书籍,可能深入介绍了iBATIS的原理、配置、使用方法以及最佳实践,对于学习和理解iBATIS非常有帮助。 2. **《ibatis Guide》**: 这可能是iBATIS的官方指南...
最近想在最新的Spring5.0中集成ibatis(不是mybatis),发现已经不在支持SqlmapClientTemplate和SqlmapClientFactoryBean,于是搞了这个工具jar来进行支持如下配置 ...
- **iBATIS v1** 和 **iBATIS v2**:均使用`<sql-map resource=".../>`来指定外部的映射文件。 - **iBATIS v3**:采用了新的标签`<mappers>`,并在其中使用`<mapper resource=".../>`来引用映射文件。 这一改变...
在实例中,你可以尝试以下几个步骤来学习和使用Ibatis: 1. 配置Ibatis:首先,你需要在项目中引入Ibatis的jar包,并设置相应的配置文件(如mybatis-config.xml),配置数据源、事务管理器以及Mapper扫描路径。 2....
《iBatis 使用手册》是一份详尽的开发资源,涵盖了iBatis框架的各个方面,包括iBatis的开发指南、SQL Maps的使用以及入门教程。iBatis是一款优秀的持久层框架,它允许Java开发者将SQL语句与Java代码分离,实现数据...
这个开发文档集合包含了"iBATIS SQL Maps 开发指南"、"iBATIS SQL Maps入门教程"以及"ibatis 开发指南"等资源,旨在帮助开发者深入理解和有效地使用iBATIS.NET。 iBATIS的核心理念是将SQL语句与应用程序代码分离,...
此文本主要是关于ibatis总配置和映射配置和一些需要主要的细节。
3. emis05(iBATIS+Oracle).zip:这个项目特别提到了Oracle数据库,表明Ibatis在处理Oracle特定的SQL特性时,如PL/SQL、游标等,依然表现得游刃有余。Ibatis的灵活性使其能够适应各种数据库,包括Oracle、MySQL、SQL ...
- 在编写SQL时,应避免使用全模糊匹配`LIKE '%text%'`,而应尽可能使用带有前缀或后缀的模糊匹配,如`LIKE 'text%'`,这可以显著提升查询效率。 - 使用`EXISTS`子查询通常比直接关联查询更高效,尤其是在数据量大...
使用Ibatis时,开发者需要完成以下步骤: 1. 添加依赖:将Ibatis的JAR文件或者对应的Maven/Gradle依赖添加到项目中。 2. 配置SqlSessionFactory:这是Ibatis的核心组件,负责创建SqlSession对象,可以通过XML配置...
使用iBATIS时,首先需要在项目中引入iBATIS库,然后创建数据库配置文件(如`sqlmap-config.xml`),在此文件中定义数据源和事务管理器。接着,编写SQL Map文件,其中包含具体的SQL查询和存储过程。在Java代码中,...
4. **提交或回滚事务**:根据业务逻辑的需要决定是否提交事务,或者在出现异常时回滚事务。 ```java if (/* 业务成功 */) { tx.commit(); } else { tx.rollback(); } ``` ### 总结 通过以上配置和代码...
在使用Mybatis框架进行数据库操作时,可能会遇到`org.apache.ibatis.exceptions.PersistenceException`这样的异常,这通常是由于多种原因导致的。下面将详细分析这个错误的原因并提供相应的解决办法。 一、错误描述...