- 浏览: 145094 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
hzyhush:
Java模拟登录新浪微博 -
meaemz:
大神,这是完整的代码吗?怎么没有没有main(),我要怎么调用 ...
Java模拟登录新浪微博 -
meaemz:
大神,这是完整的代码吗?怎么没有没有main(),是要自己写一 ...
Java模拟登录新浪微博 -
c_he_n:
最后执行结果怎么获取到url
Java模拟登录新浪微博 -
hvang1988:
18.JEgg Java多线程开发包 ,这个到底怎么样哦,资料 ...
Java 常用的第三方组件
1、最近几天在学习ibatis和spring,就把两者综合起来,写了示例。
2、构建数据库表user,使用数据库是mysql;
2、根据数据库表生成相应的JavaBean
3、对应JavaBean的配置文件User.xml文件:
4、ibatis和spring的配置文件
ibatis的配置sqlMapConfig.xml文件:
spring的配置applicationContext.xml文件:
5、编写相应的类
UserDao.java
IUserDao.java
TestIUserDao.java
6、项目的包结构
7、程序结构如下:
2、构建数据库表user,使用数据库是mysql;
create table user( id int(10) not null auto_increment, userName varchar(20) , passWord varchar(20), primary key(id) ); insert into user(userName,passWord) values('admin1','admin1'); insert into user(userName,passWord) values('admin2','admin2'); insert into user(userName,passWord) values('admin3','admin3'); insert into user(userName,passWord) values('admin4','admin4');
2、根据数据库表生成相应的JavaBean
package com.tonyj.bean; /** * @author tonyJ * @date 2012-3-17 下午01:00:25 */ public class User { private int id; private String userName; private String passWord; //相应的getter和setter方法,构造方法 }
3、对应JavaBean的配置文件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> <typeAlias alias="User" type="com.tonyj.bean.User"/> <resultMap class="User" id="userResultMap"> <result property="id" column="id"/> <result property="userName" column="userName"/> <result property="passWord" column="passWord"/> </resultMap> <!-- 获得全查询列表 --> <select id="getAllUsers" resultMap="userResultMap"> select * from user </select> <!-- 根据用户名查询用户对象 --> <select id="getUserByName" resultMap="userResultMap" parameterClass="String"> select * from user where userName=#value# </select> <!-- 根据用户id查询用户对象 --> <select id="getUserById" resultMap="userResultMap" parameterClass="Integer"> select * from user where id=#value# </select> <!--新增用户对象 --> <insert id="insertUser" parameterClass="User"> insert into user(userName,passWord) values(#userName#,#passWord#) </insert> <!-- 删除用户对象 --> <delete id="deleteUser" parameterClass="Integer"> delete from users where id=#id# </delete> <!-- 更新用户对象 --> <update id="updateUser" parameterClass="User"> update user set userName=#userName#,passWord=#passWord# where id=#id# </update> </sqlMap>
4、ibatis和spring的配置文件
ibatis的配置sqlMapConfig.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文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>sa</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/vin</value> </property> </bean> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <!-- 此处应注入ibatis配置文件,而非sqlMap文件,否则会出现“there is no statement.....异常” --> <property name="configLocation" value="SqlMapConfig.xml"/> </bean> <bean id="IUserDao" class="com.tonyj.dao.impl.IUserDao"> <property name="dataSource"> <ref bean="dataSource"/> </property> <property name="sqlMapClient"> <ref bean="sqlMapClient"/> </property> </bean> </beans>
5、编写相应的类
UserDao.java
package com.tonyj.dao; import java.util.List; import com.tonyj.bean.User; /** * @author tonyJ * @date 2012-3-17 下午12:59:22 */ public interface UserDao { public List<User> getUserList(); public User getUserByName(String userName); public User getUserById(int id); public void saveUser(User user); public int updateUser(User user); public int deleteUser(int id); }
IUserDao.java
package com.tonyj.dao.impl; import java.util.List; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import com.tonyj.bean.User; import com.tonyj.dao.UserDao; /** * @author tonyJ * @date 2012-3-17 下午01:04:23 */ public class IUserDao extends SqlMapClientDaoSupport implements UserDao{ @SuppressWarnings("unchecked") @Override public List<User> getUserList() { return getSqlMapClientTemplate().queryForList("getAllUsers"); } @Override public User getUserByName(String userName) { return (User) getSqlMapClientTemplate().queryForObject("getUserByName", userName); } @Override public User getUserById(int id) { return (User) getSqlMapClientTemplate().queryForObject("getUserById", id); } @Override public void saveUser(User user) { getSqlMapClientTemplate().insert("insertUser", user); } @Override public int updateUser(User user) { return getSqlMapClientTemplate().update("updateUser",user); } @Override public int deleteUser(int id) { return getSqlMapClientTemplate().delete("deleteUser", id); } }
TestIUserDao.java
package com.tonyj.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.tonyj.bean.User; import com.tonyj.dao.impl.IUserDao; /** * @author tonyJ * @date 2012-3-17 下午01:37:19 */ public class TestIUserDao { public static void main(String[] args) { ApplicationContext act=new ClassPathXmlApplicationContext("applicationContext.xml"); IUserDao iud=(IUserDao) act.getBean("IUserDao"); //1、取得所有的对象 List<User> allUsers=new ArrayList<User>(); allUsers=iud.getUserList(); for(Iterator<User> iter=allUsers.iterator();iter.hasNext();){ User users=iter.next(); System.out.println(users.getId()+"-->"+users.getUserName()+"-->"+users.getPassWord()); } //2、根据用户名查询 User getUserByName=new User(); getUserByName=iud.getUserByName("admin1"); System.out.println("根据用户名查询->"+getUserByName.getId()+"-->"+getUserByName.getPassWord()); //3、根据用户id查询 User getUserById=new User(); getUserById=iud.getUserById(1); System.out.println("根据用户id查询"+getUserById.getUserName()+"-->"+getUserById.getPassWord()); } }
6、项目的包结构
7、程序结构如下:
2012-3-20 19:49:08 org.springframework.context.support.AbstractApplicationContext prepareRefresh 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4b4333: display name [org.springframework.context.support.ClassPathXmlApplicationContext@4b4333]; startup date [Tue Mar 20 19:49:08 CST 2012]; root of context hierarchy 2012-3-20 19:49:09 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 信息: Loading XML bean definitions from class path resource [applicationContext.xml] 2012-3-20 19:49:09 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory 信息: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@4b4333]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1632c2d 2012-3-20 19:49:09 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons 信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1632c2d: defining beans [dataSource,sqlMapClient,IUserDao]; root of factory hierarchy 1-->admin1-->admin1 2-->admin2-->admin2 3-->admin3-->admin3 4-->admin4-->admin4 根据用户名查询->1-->admin1 根据用户id查询admin1-->admin1
发表评论
-
项目操作日志记录(方法级别)
2019-06-12 16:45 1016在项目中要记录操作日志,可以通过spring的Aop技术去实现 ... -
spring mybatis多数据源切换(2)
2019-06-12 16:35 463在上一篇文章中写到,多数据源的切换是使用Java代码调用的,现 ... -
spring mybatis多数据源切换(1)
2019-06-05 23:00 459项目中既要连接mysql数据库又要连接sever sql数据库 ... -
Spring定时器的功能开发
2016-12-05 16:59 22051、使用quartz.jar包实现定时器功能,首先在项目中引入 ... -
Maven多模块SSM框架搭建
2016-12-05 15:07 1594整合SSM和Maven多模块,搭建一个简单的开发架构,具体的做 ... -
Hibernate缓存机制分析
2015-04-09 23:18 692复制代码 您可以通过点击 右下角 的按钮 来对文章内容作出评价 ... -
Spring管理事务的几种方式
2015-04-09 22:33 997把Hibernate用到的数据源Datasource,Hibe ... -
Hibernate注解说明
2015-04-03 18:03 844/** * * @author liuguang ... -
struts2请求过程源码分析
2015-02-04 21:08 660struts2请求过程源码分析 这篇文章写的很好 分析很透彻 ... -
spring和mybatis泛型接口的整合(一)
2015-02-03 20:42 204631、这次使用spring和mybatis进行整合,使用spri ... -
spring开发所需jar包
2012-03-14 09:17 1177spring2.5开发所需的jar包,上传到这里,方便下载使用 ... -
ibatis自动生成主键
2012-03-13 10:53 1081很多数据库支持自动生成主键的数据类型如(mysql)。不 ... -
ibatis入门教程
2012-03-12 20:41 184561、本文通过几个简单的示例,实现ibatis的增删改查的功能。 ... -
ibatis一对多示例
2012-03-12 15:20 15781、在实际开发中,iBATIS框架已经很普遍的使用,然而我们常 ... -
hibernate入门示例展示
2011-06-30 17:00 1274有很长一段时间没有使用hibernate进行开发了,最近闲来无 ...
相关推荐
iBatis 3是MyBatis的前身,随着时间的推移,MyBatis逐渐发展成为一个更加成熟、功能更加强大的框架。MyBatis消除了几乎所有的JDBC代码和手动设置参数以及获取结果集。它使开发者能够专注于SQL本身,而不再需要处理...
《Ibatis 入门经典 实例》 Ibatis 是一款著名的轻量级 Java 持久层框架,它提供了一种映射 SQL 和 Java 对象的简单方式,从而减轻了开发人员在数据库操作中的工作负担。这篇实例教程将带你深入理解 Ibatis 的核心...
Struts2、iBatis和Spring是Java Web开发中三个非常重要的框架,它们结合使用能够构建出高效、灵活的企业级应用程序。以下是对这三个框架及其整合使用的详细解释。 **Struts2** 是一个基于MVC(Model-View-...
IbatisDemo是一个典型的基于Ibatis框架的入门示例,它为我们展示了如何在Java项目中使用Ibatis进行数据库操作。Ibatis,一个优秀的持久层框架,它允许开发者将SQL语句直接写在配置文件中,避免了JDBC的繁琐代码,...
描述中提到的压缩包包含了一个简单的示例项目,这通常是一个快速入门的教程,可能包含基本的CRUD操作以及如何配置和使用这三个框架的示例代码。导入Eclipse后,开发者可以研究和运行这个例子,从而更好地理解和学习...
这个入门示例展示了如何简单地实现CRUD功能,但Ibatis的功能远不止这些,它还支持存储过程、结果集映射、自定义类型处理器等多种高级特性,使得数据库操作更加灵活和高效。在实际项目中,根据需求和团队习惯,选择...
### iBATIS SQL Maps 入门教程知识点梳理 #### 一、iBATIS SQL Maps 概述 - **定义**:iBATIS SQL Maps(现称为 MyBatis)是一种用于Java的优秀持久层框架,它简化了SQL语句与Java代码间的耦合问题,使得开发者...
本资料包"ibatis开发资料及简单示例"显然是为了帮助开发者快速入门和理解Ibatis的工作原理和使用方法。其中包含的JAR包可能是Ibatis的核心库和其他相关依赖,这些库文件是运行Ibatis项目所必需的。 首先,我们来...
- 首先,阅读《IBatis入门手册》了解基本概念和安装步骤。 - 掌握XML配置和注解方式的Mapper接口定义。 - 学习如何进行参数映射和结果映射。 - 实践JPetStore-5.0源码,理解其架构和数据库交互逻辑。 - 最后,...
这个示例可能会展示如何在Flex应用中使用Ibatis作为数据访问层,以及如何通过AMF(Action Message Format)进行数据传输。 学习Ibatis的过程中,你需要理解以下几个关键点: 1. 配置:包括SqlSessionFactoryBuilder...
1. **Struts2+spring+ibatis框架整合.doc**:可能包含详细的步骤和示例,解释如何配置和整合这三个框架,包括配置文件的设置、依赖注入的实现以及控制器、模型和服务层的集成。 2. **iBATIS-SqlMaps-2_cn.pdf**:这...
**ibatis入门教程与开发指南** Ibatis,全称MyBatis-iBATIS,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Ibatis可以使用简单...
在提供的压缩包中,有两个关键文件:`最简单的iBatis入门例子.chm`和`Ibatis包`。让我们一一解析它们: 1. **最简单的iBatis入门例子.chm**: 这是一个帮助文件,通常包含一系列关于如何快速入门Ibatis的教程和...
入门教程通常从简单的Hello World示例开始,逐步引导读者了解如何创建和配置iBatis项目,编写第一条SQL,处理查询结果,以及如何进行异常处理。同时,还会讲解如何在实际项目中结合Spring等框架进行集成使用。 **...
7. **案例实践**:通过实际项目示例,加深对iBATIS的理解,包括如何在实际开发中结合Spring等框架进行整合使用。 通过深入学习和实践这些知识点,你将能够熟练掌握iBATIS,并在实际开发中有效利用这一强大的数据层...
本教程将通过一个基础的Ibatis入门示例,帮助你理解如何在实际项目中使用Ibatis进行数据操作。 首先,Ibatis 提供了SQL Map XML文件,它允许开发者将SQL语句与Java代码分离,提高了代码的可读性和可维护性。在我们...
【IBATIS 入门】 IBATIS 是一个流行的数据访问框架,它在 Java 开发领域中扮演着重要角色,特别适用于那些需要对 SQL 有更多控制权的项目。与 Hibernate 和 Apache OJB 等全面的 ORM(对象关系映射)解决方案不同,...