- 浏览: 289256 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (163)
- ETL (4)
- Oracle (24)
- Win (2)
- Apache (5)
- struts2 (1)
- ArcGIS (21)
- Java (17)
- other (6)
- JavaScript (4)
- Xml (4)
- c# (2)
- webSphere (5)
- Ext (2)
- Flex (35)
- Svn (3)
- tomcat (3)
- MyEclipse (4)
- MySQL (2)
- ibatis (2)
- log4j (4)
- spring (1)
- SqlServer (2)
- android (4)
- ios (3)
- SDE (2)
- mac (1)
- Linux (9)
- Mina2 (1)
最新评论
-
markss:
您好,请问kettle循环处理的内存泄漏问题是否已经解决了?毕 ...
Kettle -
1qqqqqq:
图呢 ???
Myeclipse 9.0集成FLASH BUILDER 4.5 -
hanyi366:
现在MyEclipse 都2014版了,好像MyEclipse ...
Visual Editor 插件 安装 -
cnjmwr:
MyEclipse8.6的Eclipse版本是3.5的 ve1 ...
Visual Editor 插件 安装 -
cloudphoenix:
大神 我特地登陆来回帖,真是帮了我的大忙了。看了一个多月的AS ...
FlexGlobals.topLevelApplication
<SPAN style="COLOR: #ff0000">当我们在ibatis中使用一对一的时候,想取得自增加字段的值。 Ibatis也提供这种取值方式,具体的配置如下 :</SPAN> DROP TABLE IF EXISTS `t_blog`; CREATE TABLE `t_blog`( `id` bigint NOT NULL auto_increment, -- blog编号 `name` varchar(255) NOT NULL , -- blog名称 `description` varchar(255) default '' , -- blog介绍 `domain` varchar(255) NOT NULL , -- blog域名 PRIMARY KEY (`id`) ) TYPE=InnoDB DEFAULT CHARSET=utf8 ; ibatis中对应的配置如下: <!-- 添加博客 --> <insert id="insertBlog"> insert into t_blog (name, description, domain) values (#name#, #description#, #domain#) <selectKey resultClass="int" keyProperty="id" > SELECT @@IDENTITY AS ID </selectKey> </insert> DAO中的调用方法: public int insertBlog(Blog blog) throws DAOException { try{ return ((Integer)getSqlMapClientTemplate().insert("insertBlog", blog)).intValue(); } catch(Exception ex){ logger.error(ex); throw new DAOException("创建博客发生错误..."); } } test insertBlog方法返回的int为自增加的id。 [转帖2] Xml代码 <!-- Oracle SEQUENCE --> <insert id="insertProduct-ORACLE" parameterClass="com.domain.Product"> <selectKey resultClass="int" keyProperty="id" type="pre"> <![CDATA[SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL]]> </selectKey> <![CDATA[insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values #id#,#description#)]]> </insert> <!-- Microsoft SQL Server IDENTITY Column --> <insert id="insertProduct-MS-SQL" parameterClass="com.domain.Product"> <![CDATA[insert into PRODUCT (PRD_DESCRIPTION) values (#description#) ]]> <selectKey resultClass="int" keyProperty="id" type="post"> <![CDATA[SELECT @@IDENTITY AS ID ]]> <!-- 该方法不安全 应当用SCOPE_IDENTITY() 但这个函数属于域函数,需要在一个语句块中执行。 --> </selectKey> </insert> <!-- Microsoft SQL Server IDENTITY Column 改进--> <insert id="insertProduct-MS-SQL" parameterClass="com.domain.Product"> <selectKey resultClass="int" keyProperty="id"> <![CDATA[insert into PRODUCT (PRD_DESCRIPTION) values (#description#) SELECT SCOPE_IDENTITY() AS ID ]]> </selectKey> </insert> <!-- Mysql Last Insert Id --> <insert id="insertProduct-Mysql" parameterClass="com.domain.Product"> <![CDATA[insert into PRODUCT(PRD_DESCRIPTION) values (#description#)]]> <selectKey resultClass="int" keyProperty="id"> <![CDATA[SELECT LAST_INSERT_ID() AS ID ]]> <!-- 该方法LAST_INSERT_ID()与数据库连接绑定,不会发生上述MS SQL Server的函数问题。 --> </selectKey> </insert> <!-- Oracle SEQUENCE --> <insert id="insertProduct-ORACLE" parameterClass="com.domain.Product"> <selectKey resultClass="int" keyProperty="id" type="pre"> <![CDATA[SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL]]> </selectKey> <![CDATA[insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values #id#,#description#)]]> </insert> <!-- Microsoft SQL Server IDENTITY Column --> <insert id="insertProduct-MS-SQL" parameterClass="com.domain.Product"> <![CDATA[insert into PRODUCT (PRD_DESCRIPTION) values (#description#) ]]> <selectKey resultClass="int" keyProperty="id" type="post"> <![CDATA[SELECT @@IDENTITY AS ID ]]> <!-- 该方法不安全 应当用SCOPE_IDENTITY() 但这个函数属于域函数,需要在一个语句块中执行。 --> </selectKey> </insert> <!-- Microsoft SQL Server IDENTITY Column 改进--> <insert id="insertProduct-MS-SQL" parameterClass="com.domain.Product"> <selectKey resultClass="int" keyProperty="id"> <![CDATA[insert into PRODUCT (PRD_DESCRIPTION) values (#description#) SELECT SCOPE_IDENTITY() AS ID ]]> </selectKey> </insert> <!-- Mysql Last Insert Id --> <insert id="insertProduct-Mysql" parameterClass="com.domain.Product"> <![CDATA[insert into PRODUCT(PRD_DESCRIPTION) values (#description#)]]> <selectKey resultClass="int" keyProperty="id"> <![CDATA[SELECT LAST_INSERT_ID() AS ID ]]> <!-- 该方法LAST_INSERT_ID()与数据库连接绑定,不会发生上述MS SQL Server的函数问题。 --> </selectKey> </insert> [实例] <insert id="insertAuthor" parameterClass="Author"> insert into AUTHOR( AUT_NAME ) values ( #name# ) <selectKey resultClass="int" keyProperty="id"> select LAST_INSERT_ID() as id </selectKey> </insert> Integer resultId = ( (Integer)getSqlMap().insert("insertAuthor", newer) ).intValue();
发表评论
-
Java中byte与16进制字符串的互相转换
2014-09-07 07:43 736Java中byte用二进制表示占用8位,而我们知道16进制 ... -
SynchronizedMap和ConcurrentHashMap的深入分析
2014-06-19 10:33 617在开始之前,先介绍下Map是什么? javadoc中对M ... -
多线程下使用 SimpleDateFormat 的问题
2014-03-18 12:38 764最近用到多线程写通信服务,发现在解析时间是一直莫名的错误, ... -
java内存限制
2012-07-12 20:38 922回顾一下java内存限制的几个参数的具体含义 -Xm ... -
UTC GMT CST时间
2012-07-05 15:59 2524GMT(Greenwich Mean Time,格林威治 ... -
iBATIS 3 变动
2012-03-25 15:44 871iBATIS以其对SQL控制的灵活性而受到许多大型 ... -
java 操作 excel 2010
2012-03-14 15:28 1654前段时间,需要进行excel2010数据的解析。先是找组件, ... -
FLEX权限--使用RemoteObject交互结合spring AOP控制项目权限教程
2012-03-04 16:55 837FLEX使用remoteobject交互结合sprin ... -
java.util.ConcurrentModificationException异常
2012-01-14 12:59 9531、 今天在写一个带缓 ... -
JAVA中ArrayList 与 Vector 的线程安全问题
2012-01-13 18:45 3641JAVA中ArrayList是否允许两个线程同时进行插入和删除 ... -
java calendar
2011-12-22 16:27 1723import java.text.DateFormat; ... -
Servlet中init-param and content-param
2011-11-08 08:56 821Servlet中init-param and content- ... -
HttpRequestProxy 请求代理 post方法
2011-10-28 15:31 4298* * * * Title: Ht ... -
HttpRequestProxy 请求代理 post方法
2011-10-28 15:30 1363写道 * * * * Title: HttpR ... -
XmlHttpProxy
2011-08-23 08:41 1007XmlHttpProxy /* Copyright ... -
super.init(config)
2011-08-22 11:45 3003servlet的init(ServletConfig conf ... -
URL工具类
2011-08-18 14:45 997package ssh.util; import ...
相关推荐
本教程“08_ibatis教程_sql主键生成方式”聚焦于Ibatis如何处理数据库主键的生成策略,这对于理解和优化数据库操作至关重要。 Ibatis允许开发者自定义SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动...
在IT行业中,数据库操作是至关重要的,而Ibatis作为一个轻量级的持久层框架,它在Java开发中被广泛使用。本教程“08_传智播客ibatis教程_sql主键生成方式”主要聚焦于如何在Ibatis中处理SQL查询时的主键生成策略,这...
- **插入操作**:`insert()`方法用于将一个对象插入到数据库中,它会自动处理主键生成策略,如果表有自增主键,IBATIS会自动填充。 - **更新操作**:`update()`方法用于更新已存在的记录,它需要传入待更新的对象,...
在iBATIS中,通过配置XML映射文件,可以定义实体类与数据库表之间的复杂关联。例如,一个订单可以包含多个商品项,这是一对多关系;反之,一个商品可能被多个订单购买,这是多对一关系。iBATIS提供了集合映射和关联...
本工程用于研究Ibatis和MySQL结合使用的方法 本工程编码方式:UTF-8 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` char(36) NOT NULL...
总结来说,iBatis中的SQLMap配置涉及到命名空间、别名、插入操作、主键获取、参数类型和结果映射等多个方面,理解和熟练掌握这些知识点对于高效地使用iBatis框架至关重要。通过合理的配置,可以有效地将Java代码与...
在IT行业中,数据库操作是必不可少的一部分,而IBatis作为一个轻量级的持久层框架,以其简单易用、灵活高效的特点,被广泛应用于各种项目中。本文将深入解析一个基于IBatis实现的最简单的增删改查(CRUD)操作实例,...
其中,插入数据并返回主键是一个非常常见的操作场景。本文将详细介绍 MyBatis 中插入返回主键代码实例的实现方法。 在使用 MyBatis 进行数据插入时,需要使用 `selectKey` 元素来获取插入后的主键值。`selectKey` ...
`<select>`、`<insert>`、`<update>`和`<delete>`标签用于执行数据库操作,而`<parameterMap>`和`<resultMap>`则用来定义输入参数和返回结果的映射。 在实际应用中,我们还需要创建对应的Java模型类,这些类的属性...
在本例中,我们创建了一个名为Person的Java类,它的属性与数据库表中的字段一一对应。这些属性包括id、firstName、lastName、birthDate等,同时提供了getter和setter方法,以便于操作这些属性。 此外,Ibatis的核心...
在Ibatis中,JavaBean是与数据库表对应的实体类。 #### Resources和DataSource - **Resources**:Ibatis提供了一套资源管理工具,用于处理类路径下的资源文件。 - **SimpleDataSource**:提供了一个简单的数据源...
具体操作过程中,以执行插入操作为例,开发者可以通过Mapper的Instance().Insert方法来执行“insert”操作,如果数据库表中有主键,则可以通过该方法返回主键值。例如,插入一个lineItem对象的代码示例中,使用...
- **创建数据库与表结构**:根据示例中的SQL语句创建名为`itcast`的数据库及`student`表,表中包括`id`(主键自增长)、`firstname`和`lastname`三个字段。 - **实体类定义**:定义一个名为`Student`的Java类,...
在本项目中,我们主要探讨的是如何利用Spring MVC、iBATIS和Oracle数据库来实现一个基本的单表操作,包括增、删、改等常见功能。Spring MVC是Spring框架的一个模块,专门处理Web应用程序的模型-视图-控制器(MVC)...
在这个项目中,开发者使用了ASP.NET MVC框架作为后端控制层,iBatis作为数据访问层,以及SQL作为数据库查询语言。下面将详细阐述这三个主要组件以及它们之间的交互。 **ASP.NET MVC(Model-View-Controller)** ASP...
在IT行业中,数据库操作是应用程序开发的核心部分,而Ibatis和Mybatis作为Java领域的两个流行持久层框架,为开发者提供了方便的数据访问接口。本资源"ibatis mybatis 分页 crud 完整代码"包含了这两个框架在CRUD...
1. **创建数据库和表**:在SQL Server 2005中,创建一个新的数据库,例如`ibatis_test`。然后,在该数据库中创建一张表,如`users`,包含`id`(主键,整型),`username`(字符串),`password`(字符串)等字段。 ...
**命名空间**是iBatis配置文件中的一个重要概念,它用于区分不同的SQL映射文件或同一文件中的不同部分。通过定义命名空间,可以避免SQL映射ID之间的冲突,并且方便地组织相关的映射信息。例如: ```xml ``` 在此...
在`MyEclipse`中导入这个项目后,你需要找到并修改这个配置文件,确保其连接信息与你的`Oracle`数据库匹配。通常,配置文件中的连接信息包括数据库URL、用户名和密码。 1. **创建数据库表**:在开始之前,你需要在`...
在这个例子中,`<insert>`标签定义了一个插入操作,参数类为`LineItem`,并包含了主键获取的`<selectKey>`标签。通过`Mapper.Instance().Insert()`方法调用,可以完成插入操作并返回主键值。 总的来说,iBATIS ...