- 浏览: 42181 次
- 性别:
- 来自: 江西
最新评论
-
空谷悠悠:
这个帖子我看过,
将项目路径D:\workspace_boha ...
rmi -
gedoua:
我第三步设置了 为什么还是找不到类呢,您能帮我看下吗 我的QQ ...
rmi -
theabab:
metadmin 写道我想到了2个问题,一起探讨一下:1,方法 ...
一个想法 method控制权限(未实践) -
metadmin:
我想到了2个问题,一起探讨一下:1,方法拦截技术。我觉得这个s ...
一个想法 method控制权限(未实践) -
metadmin:
“权限管理”圈子欢迎您!圈子地址:http://accessm ...
一个想法 method控制权限(未实践)
优点:sql语句和java分离
简单易学
开发效率高
增加移植性
缺点: 自己手动编写sql语句
传递参数的个数限定
package fat.yk.util;
import java.io.IOException;
import java.io.Reader;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class IbatisUtil {
public static SqlMapClient sqlMapClient = null;
static {
try {
Reader reader = Resources
.getResourceAsReader("fat/yk/util/config/SqlMapConfig.xml");//获取配置文件信息
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println(e.toString());
e.printStackTrace();
}
}
主要的配置文件:
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<!-- Always ensure to use the correct XML header as above! -->
<sqlMapConfig>
<!-- The properties (name=value) in the file specified here can be used placeholders in this config file (e.g. “${driver}”. The file is relative to the classpath and is completely optional. -->
<properties resource="fat/yk/util/config/sqlMap.properties" />
<!-- These settings control SqlMapClient configuration details, primarily to do with transaction
management. They are all optional (more detail later in this document). -->
<!-- settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/-->
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}" />
<property name="JDBC.ConnectionURL" value="${url}" />
<property name="JDBC.Username" value="${username}" />
<property name="JDBC.Password" value="${password}" />
<!-- property name="JDBC.DefaultAutoCommit" value="true" />
<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>
<!-- Identify all SQL Map XML files to be loaded by this SQL map. Notice the paths
are relative to the classpath. For now, we only have one… -->
<sqlMap resource="fat/yk/util/config/Student.xml" />
</sqlMapConfig>
}
SqlMap.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=
Student.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<typeAlias alias="Student" type="fat.yk.pojos.Student" />
<resultMap class="Student" id="stuMap">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="age" column="age" />
<result property="sex" column="sex" />
</resultMap>
<select id="selectAllStudent" resultClass="Student">
select * from student
</select>
<select id="selectStudentById" resultClass="Student"
parameterClass="int">
select * from student where id=#id#
</select>
<insert id="insertStudent" parameterClass="Student">
<!-- 主键自动增长 -->
<selectKey keyProperty="id" resultClass="int">
SELECT LAST_INSERT_ID() as value
</selectKey>
insert into student(name,age,sex) values(#name#,#age#,#sex#);
</insert>
<delete id="delStudent" parameterClass="Student">
delete from student where id=#id#
</delete>
<update id="upStudent" parameterClass="Student">
update student
set name=#name#,
age=#age#,
sex=#sex#
where id=#id#
</update>
<select id="selectStudentByLike" parameterClass="String" resultMap="stuMap">
select * from student where name like '%$name$%'
</select>
<select id="getStuRole" resultClass="String" parameterClass="int">
select r.roleName from student as s,role as r,stuRole where s.id=#id# and s.id=stuRole.stuId and r.id=stuRole.roleId
</select>
</sqlMap>
红色的地方呢头标题的引用不一样,一开始我直接复制SqlMapConfig.xml的头,结果出错了。复制就是容易出错!!!
例外多表查询我怎么用怎么觉的不是很方便,当然 ibatis就是用于简单功能需求开发的,如果要实现麻烦的,就多此一举了。
原程序如下
数据库:mysql
表简单
根据fat.yk.pojos的属性字段改改就OK。
http://0101xb236de232.iteye.com/blog/848194
简单易学
开发效率高
增加移植性
缺点: 自己手动编写sql语句
传递参数的个数限定
package fat.yk.util;
import java.io.IOException;
import java.io.Reader;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class IbatisUtil {
public static SqlMapClient sqlMapClient = null;
static {
try {
Reader reader = Resources
.getResourceAsReader("fat/yk/util/config/SqlMapConfig.xml");//获取配置文件信息
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println(e.toString());
e.printStackTrace();
}
}
主要的配置文件:
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<!-- Always ensure to use the correct XML header as above! -->
<sqlMapConfig>
<!-- The properties (name=value) in the file specified here can be used placeholders in this config file (e.g. “${driver}”. The file is relative to the classpath and is completely optional. -->
<properties resource="fat/yk/util/config/sqlMap.properties" />
<!-- These settings control SqlMapClient configuration details, primarily to do with transaction
management. They are all optional (more detail later in this document). -->
<!-- settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/-->
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}" />
<property name="JDBC.ConnectionURL" value="${url}" />
<property name="JDBC.Username" value="${username}" />
<property name="JDBC.Password" value="${password}" />
<!-- property name="JDBC.DefaultAutoCommit" value="true" />
<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>
<!-- Identify all SQL Map XML files to be loaded by this SQL map. Notice the paths
are relative to the classpath. For now, we only have one… -->
<sqlMap resource="fat/yk/util/config/Student.xml" />
</sqlMapConfig>
}
SqlMap.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=
Student.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<typeAlias alias="Student" type="fat.yk.pojos.Student" />
<resultMap class="Student" id="stuMap">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="age" column="age" />
<result property="sex" column="sex" />
</resultMap>
<select id="selectAllStudent" resultClass="Student">
select * from student
</select>
<select id="selectStudentById" resultClass="Student"
parameterClass="int">
select * from student where id=#id#
</select>
<insert id="insertStudent" parameterClass="Student">
<!-- 主键自动增长 -->
<selectKey keyProperty="id" resultClass="int">
SELECT LAST_INSERT_ID() as value
</selectKey>
insert into student(name,age,sex) values(#name#,#age#,#sex#);
</insert>
<delete id="delStudent" parameterClass="Student">
delete from student where id=#id#
</delete>
<update id="upStudent" parameterClass="Student">
update student
set name=#name#,
age=#age#,
sex=#sex#
where id=#id#
</update>
<select id="selectStudentByLike" parameterClass="String" resultMap="stuMap">
select * from student where name like '%$name$%'
</select>
<select id="getStuRole" resultClass="String" parameterClass="int">
select r.roleName from student as s,role as r,stuRole where s.id=#id# and s.id=stuRole.stuId and r.id=stuRole.roleId
</select>
</sqlMap>
红色的地方呢头标题的引用不一样,一开始我直接复制SqlMapConfig.xml的头,结果出错了。复制就是容易出错!!!
例外多表查询我怎么用怎么觉的不是很方便,当然 ibatis就是用于简单功能需求开发的,如果要实现麻烦的,就多此一举了。
原程序如下
数据库:mysql
表简单
根据fat.yk.pojos的属性字段改改就OK。
http://0101xb236de232.iteye.com/blog/848194
- ibatisTest.rar (1.3 MB)
- 下载次数: 0
发表评论
-
svn命令
2011-03-28 09:12 690linux常用svn命令 ... -
log4j总结
2010-11-10 16:31 0Log4j使用总结 关键字: log4j 一、介绍 Log4j ... -
将异常完整信息显示到日志文件的辅助类
2010-11-10 16:30 0package jt.web.utils; import j ... -
读取属性文件的一个辅助类
2010-11-10 16:28 784package jt.web.utils; import j ... -
自己写的一个关于SQLEception错误id的处理辅助类
2010-11-10 16:27 915package jt.web.utils; import j ... -
dbcp连接池
2010-11-10 16:26 769package jt.web.utils; import j ... -
java 解码js escape。
2010-11-10 16:23 2201public static String unescape(S ... -
resin和webService
2010-09-27 09:14 0刚学习了一下webservice,基于jax-ws建立webs ... -
mysql procedure
2010-08-31 09:27 884set global auto_increment_incre ... -
httpClient和URL
2010-05-24 09:19 1738URL方式: URL url = null; HttpU ... -
csdddd
2010-05-04 20:50 0dddddd -
js常用函数
2010-05-04 08:55 0PCRM.sendBefore = function(){ ... -
验证码图片生成
2010-04-19 08:40 0....... -
js继承extend实现
2010-03-01 09:18 0function Extend(subFn,superFn){ ... -
JSP在Servlet中的几个编码的作用及原理
2010-01-18 11:09 0JSP在Servlet中的几个编码 ... -
response设置编码的三种方式
2010-01-18 11:00 0response设置编码的三种方式 其实应该是serv ... -
fileServlet
2010-01-08 10:20 0package eCommerce.btmm.web.proc ... -
vs连接mysql
2010-01-06 17:01 0using System; using System.Coll ... -
新建层并设计透明度
2010-01-06 11:46 0var str='<div id="msgDi ... -
json 格式化
2009-12-30 16:05 0function dealJson(json, len){ ...
相关推荐
《iBatis学习资料汇总》 iBatis,作为一个轻量级的持久层框架,它在Java开发领域中扮演着重要的角色。这个框架允许开发者将SQL语句与Java代码分离,提高了开发效率并降低了维护成本。本文将深入探讨iBatis的核心...
标题 "ibatis学习" 暗示我们即将探讨的是关于Ibatis,一个著名的Java持久层框架,它允许开发者将SQL语句直接写在配置文件中,以实现灵活的数据访问。Ibatis提供了简单易用的API,使得数据库操作与业务逻辑解耦,提高...
总的来说,这个资料包提供了一个完整的Ibatis学习和实践环境,从配置到实战,涵盖了Ibatis的基础使用和核心功能。通过学习和实践,开发者可以深入理解Ibatis如何简化数据库操作,提高开发效率,并为实际项目开发打下...
在IT行业中,Ibatis、Oracle数据库以及敏捷开发是三个关键领域的知识,对于任何软件开发者,尤其是后端工程师来说,理解并掌握...在IT世界中,持续学习和实践是提升自身能力的关键,祝你在技术探索的道路上越走越远。
通过深入学习和实践"ibatistest2"这个实例,开发者不仅可以掌握Ibatis的基本使用,还能理解其在实际项目中的应用方式,为日后的开发工作打下坚实的基础。记住,理论与实践相结合,才能真正掌握一门技术,希望...
Ibatis.net是一个轻量级的持久层框架,它在.NET环境中提供了灵活的数据访问接口,能够有效地将业务逻辑和数据访问层...同时,不断实践和调试将使你对Ibatis.net有更深的理解,从而能够应对各种复杂的数据库操作场景。
标题 "ibatis学习IBATIS好资料" 涉及的核心知识点是关于iBATIS,一个流行的开源Java持久层框架,它将SQL映射到Java对象,实现了数据访问层(DAL)的简化。这个资源包提供了对iBATIS深入学习的各种材料,包括jar包和...
标题"ibatis学习锦集"表明这是一个关于iBatis学习资源的集合,涵盖了多种学习材料,可能包括文档、示例代码、教程等。描述中提到"很全面!很强大!IBATIS最新最全开发指南 - 通俗易懂IBATIS教程,ibatis基础,ibatis...
本教程书旨在帮助开发者深入理解并熟练运用Ibatis.net,通过实例和详细讲解,使得学习过程更加简单易懂。 Ibatis.net的核心理念是SQL映射,它允许开发者编写自定义的SQL语句,避免了ORM(对象关系映射)工具通常...
总的来说,这个压缩包为你提供了一个全面的iBatis学习路径,从基础到进阶,从理论到实践。通过深入阅读PDF文档,动手实践代码示例,你将能够熟练地运用iBatis来处理各种数据库操作,提升你的Java开发技能。记得在...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责简化数据库操作,将SQL语句与Java代码分离,...本资料包中的内容,无论是学习资料还是API文档,都将帮助初学者快速掌握Ibatis,并在实践中发挥其优势。
### J2EE学习:Ibatis开发资料概要 #### 一、Ibatis简介与特点 Ibatis是一款半自动化的ORM(Object ...通过对Ibatis的学习和实践,开发者不仅可以提高数据库操作的效率,还能更好地理解和掌握ORM技术的本质。
总之,这个"Ibatis 练习Demo和笔记"资源为初学者提供了全面的学习路径,从理论到实践,逐步掌握Ibatis这一强大持久层框架的使用。通过深入研究并实践,不仅可以提升数据库操作技能,还能为后续的Spring全家桶学习...
2. **Ibatis学习指南**:这可能是中文版的学习资料,针对初学者提供了详尽的入门教程和进阶指南。学习指南通常会涵盖Ibatis的基本概念,如SqlMapConfig.xml配置文件、Mapper接口的使用、SqlSession的操作,以及...
在项目实践中,合理利用这些特性,可以提高代码的可维护性和性能。不过,由于iBATIS2.0已经不再维护,目前的主流选择是升级到MyBatis,它是iBATIS的下一代产品,拥有更多的增强功能和社区支持。
这份学习资料旨在为初学者和有经验的开发者提供全面的iBatis学习资源。通过这些资料,你可以了解到如何在项目中有效地利用iBatis进行数据库操作,包括但不限于SQL映射、动态SQL、事务管理以及对象关系映射等关键概念...
【ibatis学习资料及个人学习笔记】 Ibatis,作为一个轻量级的持久层框架,它在Java开发领域中占有重要地位。本资料包是针对Ibatis的学习资源集合,旨在帮助初学者快速掌握这一强大的数据库操作工具。Ibatis的核心...
《深入理解iBATIS:基于Java的持久层框架》 iBATIS,全称为"Integration Between ADO.NET and SQL Maps",中文译为"SQL地图集成...通过对iBATIS的学习和实践,开发者可以更高效地处理数据库交互,更好地实现业务逻辑。
iBATIS,全称“Infrastructure Based Application Toolkit Integrated Solutions”,是一个基于Java的持久层框架,它允许开发者将...通过深入学习和实践,可以提升开发效率,更好地处理业务逻辑与数据操作之间的关系。