- 浏览: 197735 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
sucheng2016:
SYBASE的字段类型 -
sushi1025:
MySQL删除重复数据行,只保留一条 -
793059909:
看不懂,能否简单解释下。更常见的做法是把需要保留的数据放一张临 ...
MySQL删除重复数据行,只保留一条 -
zyllezi:
困扰了好久,终于解决了,多谢博主
使用PHP访问MySQL,Apache httpd.exe报错
在spring的jpestore中,数据持久层用到了iBATIS SQL Maps,这里写一个ibatis的简单demo,作为ibatis的学习笔记。
ibatis的SQL Map配置文件是xml形式,一般叫SqlMapConfig.xml,如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0/" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <!--settings配置是可选的,用来控制sqlMapping的详细配置,主要是事务处理。参数具体含义请参考ibatis开发指南--> <settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /> <!--使用SimpleDataSource配置数据源,DataSource的iBATIS实现:SimpleDataSource类,Jakarta DBCP(Commons),和可通过JNDI上下文查找的DataSource(即应用服务器中的DataSource)--> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="com.mysql.jdbc.Driver" /> <property name="JDBC.ConnectionURL" value="jdbc:mysql://127.0.0.1:3306/jpetstore?" /> <property name="JDBC.Username" value="root" /> <property name="JDBC.Password" value="" /> <property name="Pool.MaximumActiveConnections" value="10" /> <property name="Pool.MaximumIdleConnections" value="5" /> <property name="Pool.MaximumCheckoutTime" value="120000" /> <property name="Pool.TimeToWait" value="500" /> <property name="Pool.PingQuery" value="select 1 from ACCOUNT" /> <property name="Pool.PingEnabled" value="false" /> <property name="Pool.PingConnectionsOlderThan" value="1" /> <property name="Pool.PingConnectionsNotUsedFor" value="1" /> </dataSource> </transactionManager> <!--引入所有的SQL Map配置文件,这里的路径是classpath的相对路径,例如下面的配置说明引入Account.xml,位置在com/quqworld/test/ibatis包内--> <sqlMap resource="com/quqworld/test/ibatis/Account.xml" /> </sqlMapConfig>
接下来是SQL Map映射文件Account.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="Account"> <!--在SQL Map框架中,Result Map是极其重要的组件。在执行查询Mapped Statement时,resultMap负责将结果集的列值映射成Java Bean的属性值。--> <resultMap id="result" class="org.springframework.samples.jpetstore.domain.Account"> <result property="username" column="userid" columnIndex="1" /> <result property="email" column="email" columnIndex="2" /> <result property="firstName" column="firstname" columnIndex="3" /> <result property="lastName" column="lastname" columnIndex="4" /> <result property="status" column="status" columnIndex="5" /> <result property="address1" column="addr1" columnIndex="6" /> <result property="address2" column="addr2" columnIndex="7" /> <result property="city" column="city" columnIndex="8" /> <result property="state" column="state" columnIndex="9" /> <result property="zip" column="zip" columnIndex="10" /> <result property="country" column="country" columnIndex="11" /> <result property="phone" column="phone" columnIndex="12" /></resultMap> <select id="getAllAccountByUserid" resultMap="result"> select account.userid, account.email, account.firstname, account.lastname, account.status, account.addr1, account.addr2, account.city, account.state, account.zip, account.country, account.phone from account where account.userid=#value# </select> </sqlMap>
下面是Java代码:
try { String resource = "com/quqworld/test/ibatis/SqlMapConfig.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); Object object = sqlMap.queryForObject( "getAllAccountByUserid", "ACID",new Account()); System.out.println("select result: " +object); } catch (Exception e) { e.printStackTrace(); }
发表评论
-
Double Checked Locking双重检查锁
2017-03-07 13:16 667要使Double Checked Locking双重检查锁模 ... -
Singleton的线程安全
2017-03-07 12:59 724网上可以找到很多种Si ... -
通过JMX取本地JVM内存使用信息
2016-05-18 06:35 1547import java.io.BufferedWriter; ... -
9个主流的开源许可协议[整理]
2013-05-10 07:27 1163转自:http://univasity.iteye.co ... -
自定义ANT Listener
2011-08-13 10:48 928package com.doit.util; im ... -
JVM Memory Structure
2010-11-30 09:36 1286JVM Memory Structure As expe ... -
java的volatile是什么意思
2010-09-02 16:08 978转自:http://qingfeng825.iteye ... -
读写锁的使用
2010-09-02 12:05 1541转自:http://www.blogjava. ... -
java多线程(创建线程的两种方式)
2010-08-31 17:39 1537转自:http://hi.baidu.com/moonha ... -
关于Jconsole
2010-02-02 15:58 900使用Jconsole命令监控Java进程,如果想使用远程监控, ... -
Oracle启动停止命令
2009-10-27 16:26 8551、启动数据库: oracle@suse92:~> ... -
启动ORACLE
2009-10-21 09:25 697sqlplus /nolog; connect sys/s ... -
ORACLE创建用户
2009-09-14 09:32 1095CREATE TABLESPACE qsh_DAT ... -
Spring AOP——轻松实现代理
2009-05-15 11:16 1676本文依然参考夏昕的Spring开发指南(下载自满江红)。 ... -
Java动态代理我之理解
2009-05-13 17:08 1395参考:Spring开发指南(作者:夏昕) --------- ... -
详细解析抽象类和接口的区别
2009-05-12 09:36 9362009-05-12 09:34:23 来 ... -
使用JDOM创建XML文档的DTD
2009-05-08 15:09 2262首先,创建public的DTD。不知道public形式的DTD ... -
查看sybase版本信息
2009-05-08 14:12 2651select @@version -
Sybase存储过程报transaction mode错误
2009-05-05 11:42 5212报错信息: 11:17:53,375 ERROR [A ... -
JBoss使用Sybase报(JZ006: 捕获到 IO 例外)JZ0C0: 连接已关闭。
2009-03-31 16:09 11314JBoss在default/deploy下使用sybase ...
相关推荐
通过这个Demo,初学者可以逐步了解Ibatis的工作原理,掌握如何将SQL语句与Java代码相结合,以及如何处理数据库操作的各种场景。在实际项目中,Ibatis可以与Spring框架集成,进一步简化开发过程。所以,熟练掌握...
2. 配置iBatis:在sql-map-config.xml中设置数据源,编写映射文件(*.xml),并将SQL与Java对象映射。 3. 配置Spring:在applicationContext.xml中声明Bean,包括Action、DAO、Service等,配置数据源、事务管理器,...
3. **参数映射**:对于复杂的参数类型,Ibatis可以通过Map或注解方式轻松处理,支持传入复杂参数。 4. **动态SQL**:通过在XML配置文件中使用条件标签,可以构建动态的SQL,使SQL更具有灵活性。 5. **缓存机制**:...
通过这个demo,你可以了解到Ibatis的基本用法,如何编写SQL映射文件,如何设计Mapper接口,以及如何在Java代码中调用这些接口执行数据库操作。同时,也能掌握Ibatis的动态SQL特性,以及如何配合Spring进行更高效的...
Ibatis.net,又称为SQL Map,是一个轻量级的数据持久层框架,它允许开发者将SQL语句直接写在配置文件中,避免了ORM(对象关系映射)框架的复杂性,同时保持了数据库操作的灵活性。Ibatis.net 1.6.2是该框架的一个...
这个DEMO可能包括了创建数据库表、编写SQL查询、配置iBATIS的映射文件(XML文件)以及Java代码中的业务逻辑处理。 在iBATIS中,我们首先会创建一个数据库,可能包含一个名为`users`的表,其中字段可能有`id`(用户...
6. **参数映射**:学习如何传递参数到SQL语句,包括简单类型、复杂类型和Map类型的参数。 7. **集成测试**:了解如何编写单元测试或集成测试,确保Ibatis的SQL操作正确无误。 通过深入研究这个Demo,开发者不仅可以...
1. SQL Map XML文件:这是iBatis的核心,包含了SQL语句及其相关的参数映射。它可以定义动态SQL,使SQL更具有灵活性。 2. Mapper接口:Java接口,对应XML文件中的SQL映射。通过实现这个接口,可以在Java代码中调用SQL...
### Spring+Ibatis Demo搭建详解 #### 一、项目背景与目标 在现代软件开发过程中,集成多种技术栈来构建高效稳定的应用系统是常见的做法。本文档将详细介绍如何使用Spring和Ibatis这两种流行的技术框架搭建一个...
iBATIS.NET是SQL Map的.NET版本,是一个轻量级的数据访问层框架,它允许开发者将数据库查询与应用程序代码分离,提供更灵活的数据库操作。 描述中的"可用"表明这个demo是可运行和测试的,用户可以下载并了解如何在...
标题 "ibatis实现结果集map封装(Demo下载)" 指的是使用iBatis这个流行的Java持久层框架,将数据库查询结果集转换成Map对象的过程。这个过程在处理动态和复杂的查询时尤其有用,因为它允许开发者以键值对的形式灵活地...
总结来说,"ibatis_Demo"项目展示了Ibatis与Oracle的完美结合,它让我们看到了在保持SQL灵活性的同时,如何利用ORM框架提高开发效率。无论你是初学者还是经验丰富的开发者,都能从中受益,掌握到Ibatis与Oracle的...
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <!-- 使用类型别名来避免每次输入完整的类名 --> ...
在iBatis中,我们通过XML配置文件(sql-map.xml)定义SQL语句和结果映射,然后在Java代码中调用SqlSession对象执行SQL。这样可以避免JDBC的繁琐操作,提高开发效率。 在整合这三个框架时,Spring作为核心容器,管理...
【标签】"ch07_ibatisDemo.rar" 的标签没有给出更多信息,但我们可以根据标题和描述推测,它可能涉及到的标签包括:MyBatis、Java编程、数据库操作、持久层框架、SQL映射等。 【压缩包子文件的文件名称列表】: ...
Ibatis,全名MyBatis,是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在本示例中,"ibatis实现增删改查功能demo"是一个具体的项目,旨在演示如何利用Ibatis进行数据库操作,包括插入(Insert...
在iBATIS中,SQL Map是关键组件,它负责执行SQL语句。SQL Map的工作流程如下: 1. **参数绑定**:当执行一个mapped statement(即一个映射的SQL语句)时,你可以传递一个对象作为参数,这个对象可以是Java Bean、...
iBATIS的核心部分是SQL Map XML配置文件,其中包含了数据库交互的所有细节。 二、环境准备 在开始之前,确保已安装以下软件和库: 1. Java Development Kit (JDK):用于编写和运行Java代码。 2. Apache Maven 或 ...
在压缩包文件“ibatisdemo”中,可能包含了项目结构示例,包括配置文件、Mapper XML文件、Mapper接口、实体类等,通过实际操作这些文件,你可以更直观地学习和掌握上述知识点。记得打开源码,查看注释,这对于理解和...
Ibatis,又称为SQL Map,是一个优秀的持久层框架,它允许程序员将SQL语句直接写在配置文件中,与Java代码分离,从而避免了传统的JDBC中的大量模板代码,使得数据库操作更加简便。Ibatis的核心思想是将SQL与Java代码...