`

bean的属性类型----ibatis类型-------oracle数据库类型

    博客分类:
  • ssh
阅读更多

1、 ibatis中会通过resultMap把bean的类型与oralce的列对应起来,如下面的例子:

 

<resultMap id="userMap" class="userBean" >
	 <result column="ID" property="id"  />
	 <result column="CIP_NAME" property="name"  />
	 <result column="CIP_SEX" property="sex"  />
	 <result column="CIP_LANGUAGE" property="language"  />
	 <result column="CIP_studyLever" property="studyLever"  />
	 <result column="CIP_post" property="post"  />
	 <result column="CIP_DESC" property="desc"  />
	 <result column="CIP_BIRTHDAY" property="birthday"  />
  	</resultMap>

 

经过测试,以id列为例,不管在oracle表中,id列是varchar、number,在bean中id列可以定义为String、Integer类型,这句话的意思是id列为varhcar类型时,可以将bean中的id定义为String、Integer类型,id列为number类型时,也可以将bean中的id定义为String、Integer类型。

 


2、当bean中的属性定义从String改为Integer或者从Integer改为String时,需要改变的是以下的配置:

<insert id="insertUser" parameterClass="UserBean">
		<selectKey keyProperty="id" resultClass="java.lang.String">
			select CIP_Test_User_seq.nextval as id from dual
		</selectKey>
		insert into	
		CIP_Test_User(
		  ID,
		  CIP_NAME,
		  CIP_SEX,
		  CIP_LANGUAGE,
		  CIP_studyLever,
		  CIP_post,
		  CIP_DESC,
		  CIP_BIRTHDAY
		)
		values(
		  #id#,		 		 
                  #name#,		 		 
                  #sex#,		 		 
                 #language#,		 		 
                 #studyLever#,		 		 
                 #post#,		 		 
                 #desc#,
		 #birthday#		  
		  )
	</insert>

  如果bean中的类型是Integer,则需要把 resultClass="java.lang.Integer";
  如果bean中的类型是String ,则需要把 resultClass="java.lang.String ";

 

3、日期的处理:bean中定义的类型是java.utils.Date
日期需要在插入的时候做一个转换,从String转为Date;在JSP中显示的时候,使用fmt作一个转换。
在ibatis中不需要特殊处理。
(1)库中insert数据,在action里进行处理:

	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                String birthday=(String) dynaBean.get("birthday");
	if(StringUtils.isNotBlank(birthday)){ //注意这里一定要判断为空,如果为空,转换的时候会出错。
	   userBean.setBirthday(format.parse(birthday)); 
	 }	

 (2)在JSP中显示日期时:

  <fmt:formatDate value='${userBean.birthday}' pattern='yyyy-MM-dd'/>

 

分享到:
评论

相关推荐

    Struts+Spring+Ibatis整合框架搭建配置文档

    这通常通过读取外部的`jdbc.properties`文件来实现,以支持不同的数据库类型如MySQL、Oracle或MSSqlServer。 **示例代码:** ```xml &lt;!-- 配置MySQL数据库 --&gt; &lt;bean id="dataSource" class=...

    spring oracle blob

    根据提供的标题、描述以及部分代码内容,我们可以整理出关于如何在Spring框架中处理Oracle数据库中的BLOB类型数据的相关知识点。 ### 一、BLOB类型简介 BLOB(Binary Large Object)是二进制大对象的缩写,通常...

    repid-framework 使用说明.docx

    - Spring_jdbc:根据策略类型修改 `DAO` 文件中的 `save()` 方法,例如针对 Oracle 的 `sequence`。 9. **特殊主键策略**: - 对于序列(sequence)主键,需要修改生成的 DAO 文件中的保存方法,例如:`...

    ibatis学习笔记

    2. **简化开发工作**:通过封装底层JDBC API的调用细节,Ibatis能够自动将数据库查询结果转换为Java Bean对象,从而极大地减少了开发者在处理数据库操作时所需编写的代码量。 3. **易学易用**:Ibatis的学习曲线较为...

    springmybatis

    1.Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 &lt;typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/&gt; 这个别名...

    Java软件开发工程师面试题宝典.doc

    - EJB容器管理下的实体Bean和会话Bean。 - JSP的指令、脚本元素、动作元素等。 - Servlet生命周期及其配置。 **1.2 异常处理** - **异常分类:** - **编译时异常(checked exception)**:必须被捕获或声明抛...

    笔试试题-J2EE开发技术

    - **解析**:JSP提供了三种类型的指令,分别是`page`、`include`和`taglib`。 - `page`指令用于设置JSP页面的相关属性,例如编码、导入包等。 - `include`指令用于在编译阶段将其他文件嵌入当前JSP页面。 - `...

    spring chm文档

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.3.3. bean属性及构造器参数详解 3.3.3.1. 直接量(基本类型、Strings类型等。) 3.3.3.2. 引用其它的bean(协作者) 3.3.3.3. 内部bean 3.3.3.4. 集合 3.3.3.5. Nulls 3.3.3.6. XML-based configuration metadata ...

    北京神州数码斯特奇面试

    #### JDBC实现Oracle数据库连接及操作 JDBC (Java Database Connectivity) 是 Java 中用来对关系数据库进行存取的标准 API。通过 JDBC,可以实现 Java 应用程序与各种不同数据库的通信。具体来说,这里提到的使用 ...

    酒店客房管理系统(毕业设计) struts + spring + ibaits2.0

    `export.dat`通常是自定义格式的数据导出,而`.dmp`文件通常与Oracle数据库的导出有关,用于备份数据库对象和数据。 该系统可能包括以下功能模块: - 客户管理:登记、查询、修改客户信息。 - 房间管理:房间类型、...

    Mybatis优化

    当使用Oracle数据库时,可以考虑利用Oracle的一些特性来提升查询效率,比如使用索引、优化查询语句等。 #### 四、ibatis中的性能优化技巧 虽然MyBatis是ibatis的改进版本,但有些ibatis的优化策略同样适用于...

    如何在spring框架中解决多数据源的问题

    例如,一个应用程序可能需要同时访问Oracle数据库和MySQL数据库,或者根据业务逻辑的不同阶段选择不同的数据源。这种场景下,如何有效地管理多个数据源并实现在不同数据源间的动态切换成为了一个重要的技术挑战。 #...

    框架面试笔试问答题.docx

    - **@Resource**:可以根据名称也可以根据类型匹配bean,提供了更多的灵活性。 #### 20. WEB应用的安全性泄露及其防止方法 - **SQL注入**:使用预编译语句或ORM框架避免。 - **XSS攻击**:对用户输入的数据进行...

    java高级软件工程师面试题

    - **Hibernate与iBatis**:了解ORM(对象关系映射)原理,掌握实体类与数据库表之间的映射配置,了解HQL查询语言和SQL语句的编写。 #### 二、数据库技能 - **MySql数据库开发**:熟练使用SQL语句进行数据操作,...

    abator源码

    根据数据库表的结构,Abator 会生成对应的Java Bean类,包括属性(对应表的列)、getter和setter方法、构造函数等。这些类通常遵循JavaBeans规范,使得它们易于在其他Java代码中使用。 5. **iBatis SQL Map生成** ...

    Spring中文帮助文档

    2.3.3. 对bean命名pointcut( bean name pointcut element)的支持 2.3.4. 对AspectJ装载时织入(AspectJ load-time weaving)的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. 对Websphere ...

    Spring API

    2.3.3. 对bean命名pointcut( bean name pointcut element)的支持 2.3.4. 对AspectJ装载时织入(AspectJ load-time weaving)的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. 对Websphere ...

    Spring 2.0 开发参考手册

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

Global site tag (gtag.js) - Google Analytics