使用ibatis
首先导入一个ibatis jar包,然后在项目src下,添加了两个xml文件,一个是user.xml映射文件,另一个是 ibatis的基本配置文件sqlMapClient.xml
User.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="User">
<resultMap id="result" class="com.user.entity.User">
<result property="userId" column="user_id" columnIndex="1"/>
<result property="name" column="user_name" columnIndex="2"/>
<result property="sex" column="user_sex" columnIndex="3"/>
<result property="birthday" column="user_birthday" columnIndex="4"/>
<result property="passWord" column="user_passWord" columnIndex="5"/>
<result property="email" column="user_email" columnIndex="6"/>
<result property="state" column="user_state" columnIndex="7"/>
</resultMap>
<insert id="INSERT_sql">
INSERT INTO t_users(user_name,user_sex,user_birthday,user_passWord,user_emal,user_state)
VALUES(#name#,#sex#,#birthday#,#passWord#,#email#,
#state#)
</insert>
</sqlMap>
ibatis基本配置文件sqlMapClient.xml
<?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>
<sqlMap resource="User.xml"/>
</sqlMapConfig>
在spring配置文件applicationContext.xml 中注入sqlMapClien.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/jd1115db">
</property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>
</bean>
<!-- Action -->
<bean id="registAction" class="com.user.action.RegistAction">
<property name="userService" ref="userService">
</property>
</bean>
<!-- service -->
<bean id="userService" class="com.user.service.UserService">
<property name="dao" ref="userDao"/>
</bean>
<!-- dao -->
<bean id="userDao" class="com.user.dao.UserDao">
<property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<!-- 将数据源dataSource 与ibatis 基本文件 sqlMapClient.xml注入到 spring提供的ibatis的 SqlMap 配置 -->
<bean id="sqlMapClient"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="sqlMapClient.xml"></property>
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>
Userdao
/*
*继承SqlMapClientDaoSupport
*/
public class UserDao extends SqlMapClientDaoSupport implements IUserDao{
/*
* 插入数据方法
* InsertUser() 方法
* @param User user 参数说明
* @return 无
* @throws Exception
* */
public void InsertUser(User user)throws Exception {
//从配置文件中获取到sql语句,然后执行getSqlMapClientTemplate() getSqlMapClientTemplate().update("INSERT_sql",user);
}
再添上 Service 和 Action 、jsp 页面
运行:注册界面:插入数据成功,跳转到登录界面,数据库里,得到插入的新数据
写代码时遇到的情况:
运行时,报错:
Document root element "sqlMapConfig", must match DOCTYPE root "null".
经过检查,发现是sqlMapConfig.xml配置文件写错,文件读不出数据
User.xml配置文件也写错,经过修改,程序运行正常
总结:sqlMapConfig.xml,与User.xml 配置文件不同,这种情况容易被忽视。
使用ibatis后,代码量明显减少了,不仅不用再重复的写connection ,而且sql语句与UserDao分隔开来,真的方便管理。今天也解决了我昨天的问题,就是不用在从spring配置文件中调用sql语句,和使用时写那些String “sql name” 和get、set 方法。
分享到:
相关推荐
这个名为"SpringStruts2IBatis"的项目整合了这三个框架,为开发者提供了一个快速开发CRUD(创建、读取、更新、删除)功能的基础平台,可以直接在MyEclipse环境中部署和运行。 **Spring框架**:Spring是Java领域最...
《基于Maven的Spring、Struts2、iBatis与Velocity整合实践》 在Web开发领域,Spring、Struts2、iBatis和Velocity是四个非常重要的组件,它们各自承担着不同的职责,共同构建出高效、灵活的Web应用程序。本实例以...
标题 "yadz spring struts2 ibatis" 暗示了这是一个关于整合YADZ框架、Spring、Struts2以及iBatis的项目。这些技术都是Java Web开发中的重要组件,它们各自承担着不同的职责,而将它们集成在一起可以构建出功能强大...
【标题】"yadz spring struts2 ibatis _2" 涉及的是一个集成框架的使用,其中包含了三个关键的技术组件:Spring、Struts2和iBatis。这三者是Java企业级开发中常用的开源框架,主要用于构建可扩展且易于维护的Web应用...
总结起来,"extjs4springstruts2ibatis"这个项目结合了前端的富客户端技术与后端的企业级框架,旨在构建高效、可扩展的Java Web应用。开发者可以利用这些技术的组合优势,实现前后端分离,提高开发效率,并确保应用...
标题中的“Spring Struts2 iBatis EasyUI”是一个经典的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。下面将详细解释这些技术及其整合应用。 **Spring框架** Spring是一个开源的Java平台,核心特性是...
Struts2、Spring3和iBATIS是Java Web开发中常用的三大框架,它们各自负责不同的职责,协同工作可以构建出高效、松耦合的Web应用。在这个“struts2+spring3+ibatis项目整合案例”中,我们将深入探讨这三个框架如何...
在Java Web开发中,Spring、Struts2和iBatis是三个非常重要的框架,它们各自在不同的层面上提供了强大的功能。Spring是一个全面的后端应用框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理等功能;Struts...
这个架构结合了Spring框架、Struts2框架和iBatis(现在称为MyBatis)来构建高效且可维护的Web应用。下面将详细阐述这三个框架以及它们在整合中的作用。 1. Spring框架:Spring是Java企业级应用的核心框架,它提供了...
Spring负责管理对象的生命周期和依赖关系,Struts2提供了MVC架构,而Ibatis作为持久层框架,简化了数据库操作。这样的架构在过去的Java Web开发中非常流行,虽然现在有Spring Boot和MyBatis等更现代的框架,但理解这...
2. **添加依赖**:在pom.xml或build.gradle文件中引入Spring、Struts、iBatis和MySQL的相应库。 3. **配置Spring**:创建Spring配置文件,定义bean,包括Struts的Action类、iBatis的SqlSessionFactory等。 4. **配置...
Spring、Struts和iBatis是Java开发领域中经典的三大开源框架,它们分别在不同的层次上解决了企业级应用开发中的问题。Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能,极大地...
【Spring_Struts_Ibatis_Mysql Demo】是一个典型的Java Web应用程序示例,它整合了四个关键的技术框架:Spring、Struts、iBatis和MySQL数据库。这个项目旨在展示如何在实际开发中有效地集成这些组件,创建一个功能...
Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们共同构建了一个灵活、可扩展且高效的应用程序开发环境。这个“struts2+spring+iBatis框架包”集成了这三个框架,使得开发者能够快速构建基于...
一个简单的spring+struts+ibatis整合的实例,实现了用户登录,用户登录成功则显示欢迎信息,失败则显示用户名或密码错误,该实例非常简单基础,特别适合新人学习,工程包含了必要的资源包,部署到服务器中及可运行,...
### Spring、Struts、iBatis框架搭建流程详解 #### 一、框架下载与准备 在构建基于Spring、Struts和iBatis的项目时,首先需要下载这些框架的最新版本,并进行相应的准备工作。 ##### 1. Struts2框架 Struts2是一...
Spring、Struts2和iBatis是Java Web开发中的三个重要框架,它们分别负责不同的职责。Spring是一个全面的后端应用程序框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;Struts2则是一个MVC(模型-视图-控制器...
"Spring+Struts+Ibatis"框架组合就是一种经典的Java Web开发架构,它将控制层、业务逻辑层和数据访问层有效地分离开来,使得项目结构清晰,易于维护。下面将详细解释这三个框架的主要功能和它们如何协同工作。 首先...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...
例如,Spring与Struts可以通过Spring的Struts2插件进行集成,实现Action类的依赖注入。同时,Spring可以配置iBatis的SqlSessionFactory,并通过SqlSessionTemplate或MyBatisDaoSupport来调用iBatis的SQL映射文件。 ...