ibatis学习总结
1. 从官方网站下载,ibatis的jar及相关的文件,http://ibatis.apache.org/
2 . 新建一个工程, 我们如果要进行ibatis相关的操作, 就一个要导入ibatis-2.3.3.720.jar
3 . 建立pojo与pojo.xml形成映射.
4. 一般一个pojo对应一个pojo.xml, 例如.User.java.与User.xml
pojo的类最好实现java.io.Serializable接口, 以备应用时, 进一步的扩展, 还要提供一个缺省的构造方法(空构造方法)。
5. ibatis的配置文件.SqlMapConfig.xml, 这个文件一般放到src下.
<?xml version="1.0" encoding="UTF-8" >
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- Configure a built-in transaction manager. If you're using an
app server, you probably want to use its transaction manager
and a managed datasource --
<properties resource="dbconfig.properties"/>/*数据库的驱动配置文件,一般与SqlMapConfig.xml是同一级目录*/
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}"/>
<property name="JDBC.ConnectionURL" value="${url}"/>
<property name="JDBC.Username" value="${user}"/>
<property name="JDBC.Password" value="${password}"/>/*配置文件的Key*/
</dataSource>
</transactionManager>
<sqlMap resource="com/lxit/test/LXGroup.xml"/>
/*指定pojo的映射文件, 这句话一定要加上, 否则, 找不到配置文件,包名/类名.xml*/
</sqlMapConfig>
LXGroup.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 namespace="LXGroup">
<typeAlias alias="LXGroup" type="com.lxitedu.pojo.permission.LXGroup" />
类型别名 , 为一个pojo类取一个别名, 以便在下面用时候, 直接用别名引用对象(上面的解释)
<resultMap class="LXGroup" id="paginationList">
<result property="groupId" column="ID" />
<result property="groupName" column="groupName" />
<result property="description" column="description" />
</resultMap>
数据返回类型,我用的是一张表 , id 与select 标签的id一致, 就可以指定返回是多个pojo
<select id="userGroupRowCount" resultClass="int">
select count(*) from userGroup
</select>
我们可以, 根据自己的SQL查询语句, 及传入的参数来决定它的返回类型,
resutlClass="返回类型" parameterClass="传入的参数类型"
<select id="userGroupList" resultMap="paginationList">
select * from userGroup
</select>
<delete id="deleteUserGroup" parameterClass="String">
delete from userGroup where groupName=#value#
#value#由方法的传入参数填充
</delete>
<select id="userGroup" parameterClass="String"
resultClass="LXGroup">
select ID as groupId,groupName as groupName,description as description from
userGroup where groupName=#value#
</select>
<insert id="addUserGroup" parameterClass="com.lxitedu.pojo.permission.LXGroup">
insert into userGroup(groupName,description)values
(#groupName#,## where
ID=#groupId#
</update>description#)
<selectKey resultClass="int" keyProperty="groupId">
select LAST_INSERT_ID() as value
</selectKey>(这是主键自动增长)
</insert>
<update id="updateUserGroup" parameterClass="LXGroup">
update userGroup set groupName=#groupName#,description=#description
</sqlMap>
6. 这里所有配置文件都完成了
之后就是得到SqlMapClient对象, 调用相应的方法, 完成相应操作
private static SqlMapClient sqlMapper;
public static synchronized SqlMapClient getSqlMapClientInstance()
{
if(sqlMapper==null)
{
try {
Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sqlMapper;
}
ibatis与spring的整合
1. ibatis与spring整合, 我们要导入相应的jar.commons-dbcp-1.2.jar,commons-pool-1.4.jar,spring2.5.5.jar,这些是Spring的jar
2. 要想spring与ibatis整合起来, 我们只需修改一下配置文件就可以了,如果成功之后, 我们就会发现, 他会使的我们的程序越来越简单
第一步:在SqlMapConfig.xml里 , 要删除 连接数据库驱动。
第二步:在ApplicationContext.xml里修改驱动
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:dbconfig.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>${driver}</value>
</property>
<property name="url">
<value>${url}</value>
</property>
<property name="username">
<value>${user}</value>
</property>
<property name="password">
<value>${password}</value>
</property>
</bean>
第三步: 整合ibatis与spring
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:SqlMapConfig.xml"/>(src下)
<property name="dataSource" ref="dataSource"/>
</bean>
第四步:修改实例对象方式
如果是单独的ibatis, 我们要通过读取SqlMapConfig.xml来得到SqlMapConfig来得到SqlMapClient对象
现在与spring整合之间, 我们只需要修改类的继承关系就可以了, 一般继承SqlMapClientDaoSupport
this.getSqlMapClient()就可以实现得到数据库的操作对象,简化了操作。
第五步:在sqlmapconfig.xml里面我们只要写映射pojo.xml的路径就可以了。
分享到:
相关推荐
基于深度学习并实战 spring boot 的项目合集(已集成batis-aop(AOP自定义多数据源)、multi-datasource-mybatis(使用Mybatis集成多数据源)、quartz(定时任务)等).zip基于深度学习并实战 spring boot 的项目合集(已...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在Eclipse这个流行的Java集成开发环境中,...这个基础例子为你进一步学习MyBatis的高级特性,如缓存、事务控制、动态SQL等奠定了基础。
Ibatis3.0中文文档和英文文档是学习和理解这个框架的重要资源,它们详尽地阐述了每个知识点,并提供了丰富的示例代码。无论是初学者还是资深开发者,都可以从中受益匪浅,提升数据库操作的效率和质量。
本项目“Java搭建batis+Spring4+maven”是一个精心配置好的开发环境,它整合了MyBatis、Spring4和Maven这三个关键组件,为开发者提供了一个快速开发的基础架构。 首先,MyBatis是一个优秀的持久层框架,它解决了...
【资源说明】 1、该资源包括项目的全部源码,...基于深度学习并实战 spring boot 的项目,成功集成batis-aop(AOP自定义多数据源)、multi-datasource-mybatis(使用Mybatis集成多数据源)、quartz(定时任务)、rabbit.zip
本压缩包文件"batis详细代码"提供了包含Web项目的Batis实例,无需预先导入数据库即可运行,这为初学者和开发者提供了一个便捷的学习和测试环境。 首先,让我们详细了解Batis。Batis是由MyBatis演变而来,它是一个...
SSM框架,即Spring MVC、Spring和MyBatis的组合,是Java开发中常见的Web应用程序框架,尤其在商城购物平台的构建中应用广泛。这三个框架各自承担着不同的职责,协同工作以实现高效、灵活的业务逻辑处理。...
总结一下,这个“batis官方资源包.zip”包含了MySQL数据库的Java驱动,MyBatis的官方库和源代码,以及相关的官方文档,是学习和开发基于MyBatis的Java应用的理想资源。通过对这些资源的学习,开发者可以掌握如何使用...
总结起来,`batis配置文件`是MyBatis框架的基石,它定义了与数据库交互的方式和规则。理解并正确配置这些文件对于有效利用MyBatis进行数据访问至关重要。而`sqlmap-mapping-trustdefinition.xml`和`sqlmap-mapping....
这个集成示例对于初学者来说是一次宝贵的学习机会,能帮助他们了解如何将这些技术结合在一起,创建一个完整的Java Web应用程序。同时,也展示了如何在实际开发中管理和组织代码,以及如何利用现代框架来提高开发效率...
标题 "batis+acegi实现的动态权限控制" 暗示了这个项目是关于整合Spring框架中的Acegi安全模块和MyBatis ORM框架,来创建一个动态的权限管理系统。Acegi是Spring早期的安全组件,现在已被Spring Security所取代,但...
SpringMVC、Spring和Mybatis是Java开发中最流行...通过学习和掌握这三个框架,开发者能够快速构建复杂的企业级应用。在"ssm-master"项目中,开发者可以通过阅读源代码和配置文件,深入理解这三个框架是如何协同工作的。
【标题】"Spring MVC + MyBatis + DWZ" 是一个常见的企业级Web开发框架组合,主要用于构建高效、可扩展的Web应用。...通过学习和实践这个项目,开发者可以深入理解这三个框架的协同工作原理,提升Web开发技能。
总结来说,`my-batis-logviewer`是一个基于JavaScript的MyBatis日志分析工具,它通过简洁的交互界面和强大的日志解析能力,提升了MyBatis使用者的开发效率。从安装到使用,每个步骤都有清晰的指导,确保开发者能够...
在MyBatis中,`batis-3-config.dtd` 和 `mybatis-3-mapper.dtd` 是两个至关重要的DTD(Document Type Definition)文件,它们定义了MyBatis配置文件和映射文件的结构和语法。 首先,我们来看`batis-3-config.dtd`。...
m1y1batis_plus1_2.816_crack_v2.86_213123131release.zip
这个项目可能是一个初学者为了学习和实践这些技术而创建的,特别加入了分页功能,以提升用户体验。下面将详细阐述这些技术及其集成的关键点。 **Struts1.2** 是一个经典的MVC(Model-View-Controller)框架,用于...
### iBATIS简介 iBATIS是一个以SQL为中心的持久化层框架,它与Hibernate等对象关系映射(ORM)工具有所不同。iBATIS主要关注于SQL查询的参数和结果集映射,而不是像传统的ORM那样关注于将数据库表结构完全映射到...
“MesnacCoding_MyBatis.NET”和“ibatis生成工具和使用文档以及样例”两个文件夹是网上两位大佬开发的开源生成工具源码和学习资料 “MyBatisSample”是另外一大佬开发的一个使用例子 都是非常好的资料,分享...