`
lihaibingqq789
  • 浏览: 19892 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ibatis2+spring入门

阅读更多

第一步:新建一个web项目

 

第二步:引入主要jar包

spring.jar,ibatis-2.3.4.jar,mysql-connector-java-5.1.5-bin.jar,c3p0-0.9.1.1.jar,ant.jar,commons-logging.jar等。

 

第三步:在web.xml文件中添加

<listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>

 

第四步:新建data-source.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"
 xsi:schemaLocation="http://www.springframework.org/schema/beans classpath:spring-beans-2.5.xsd">

 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  <property name="driverClass" value="com.mysql.jdbc.Driver" />
  <property name="jdbcUrl" value="jdbc:mysql://192.168.0.61:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />
  <property name="user" value="root" />
  <property name="password" value="sa" />
  <property name="acquireIncrement" value="5" />
  <property name="maxIdleTime" value="3600" />
  <property name="initialPoolSize" value="10" />
  <property name="minPoolSize" value="10" />
  <property name="maxPoolSize" value="30" />
  <property name="numHelperThreads" value="5" />
 </bean>
 
</beans>

 

第五步:新增applicationContext.xml 内容如下

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://www.springframework.org/schema/beans"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:jaxws="http://cxf.apache.org/jaxws"
 xsi:schemaLocation="http://www.springframework.org/schema/beans classpath:spring-beans-2.5.xsd
 http://www.springframework.org/schema/context classpath:spring-context-2.5.xsd
 http://www.springframework.org/schema/tx classpath:spring-tx-2.5.xsd
 http://www.springframework.org/schema/aop classpath:spring-aop-2.5.xsd
 http://cxf.apache.org/jaxws classpath:jaxws.xsd">


 <import resource="data-source.xml" />

 <!--
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
  <property name="driverClass" value="com.mysql.jdbc.Driver" />
  <property name="jdbcUrl"
  value="jdbc:mysql://192.168.0.61:3306/seawar_test?useUnicode=true&amp;characterEncoding=UTF-8" />
  <property name="user" value="root" />
  <property name="password" value="sea" />
  <property name="acquireIncrement" value="5" />
  <property name="maxIdleTime" value="3600" />
  <property name="initialPoolSize" value="10" />
  <property name="minPoolSize" value="10" />
  <property name="maxPoolSize" value="30" />
  <property name="numHelperThreads" value="5" />
  </bean>
 -->
 <bean id="sqlMapClient"
  class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  <property name="configLocation"
   value="classpath:sqlMapConfig.xml" />
  <property name="dataSource" ref="dataSource" />
 </bean>

 <bean id="guildPlayerDAO" class="com.ibatis.two.GuildPlayerDAO">
  <property name="sqlMapClient" ref="sqlMapClient" />
 </bean>
</beans>


第六步:新增帮助类 springService.java

package com.common;


import javax.servlet.ServletContext;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;


/**
 * spring 帮助类
 * @author barsk.li
 *
 */
public class SpringService {
 
 private static ServletContext servletContext;
 private static WebApplicationContext webApplictionContext;
 
 public static Object getBean(String name){
  return webApplictionContext.getBean(name);
 }
 
 public static ServletContext getServletContext() {
  return servletContext;
 }

 public static void setServletContext(ServletContext servletContext) {
  SpringService.servletContext = servletContext;
  SpringService.webApplictionContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
 }

 public static ApplicationContext getApplicationContext() {
  ApplicationContext ctx = new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/applicationContext.xml");
  return ctx;
 }
 
}

第七步:其他类

1. GuildPlayer.java

/** 公会玩家编号 */
 private Integer guildPlayerID;
 /** 玩家编号 */
 private Integer playerID;
 /** 公会编号 */
 private Integer guildID;
 /** 公会职务 */
 private Integer position;
 /** 创建时间 */
 private Date createTime;

 

2.IGuildPlayerDAO

package com.ibatis.two;

public interface IGuildPlayerDAO {

 public void createGuildPlayer(GuildPlayer guildPlayer);
}

3.GuildPlayerDAO.java

package com.ibatis.two;


import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

public class GuildPlayerDAO extends SqlMapClientDaoSupport implements IGuildPlayerDAO{

 public void createGuildPlayer(GuildPlayer guildPlayer) {
  
  getSqlMapClientTemplate().insert("GuildPlayer.createGuildPlayer",guildPlayer);
 }

 
}
4. GuildPlayer.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="GuildPlayer">
 <typeAlias alias="GuildPlayer" type="com.ibatis.two.GuildPlayer" />

 <insert id="createGuildPlayer" parameterClass="GuildPlayer">
  insert into
  t_guild_player(guild_id,player_id,position,create_time)
  values(#guildID#,#playerID#,#position#,sysdate())
 </insert>

 

</sqlMap>

 

好了,基本上差不多了。写个测试类测试下

GuildPlayerDAOTest.java

 

package com.ibatis.two;

import org.junit.BeforeClass;
import org.junit.Test;

import com.common.SpringService;

public class GuildPlayerDAOTest {

 private static IGuildPlayerDAO guildPlayerDAO ;
 
 @BeforeClass
 public static void setUpBeforClass() {
  guildPlayerDAO = (IGuildPlayerDAO) SpringService.getApplicationContext().getBean("guildPlayerDAO");
 }
 
 @Test
 public void test() {
  
  GuildPlayer guildPlayer = new GuildPlayer();
  
  guildPlayer.setGuildID(44);
  guildPlayer.setPlayerID(33);
  guildPlayer.setPosition(2);
  
  guildPlayerDAO.createGuildPlayer(guildPlayer);
 }
}

 

 

好了,如果配置没什么问题的话,应该是OK的。下面我们来看下mybaits-3.0的使用。

需要mybatis-3.0.1.jar

sql文件配置区别

GuildPlayer.xml 如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="GuildPlayer">

 <insert id="createGuildPlayer" parameterType="GuildPlayer">
  insert into
  t_guild_player(guild_id,player_id,position,create_time)
  values(#{guildID},#{playerID},#{position},sysdate())
 </insert>
</mapper>

 

分享到:
评论

相关推荐

    struts2+spring+ibatis 项目 入门使用

    Struts2、Spring和iBatis是Java Web开发中经典的三大框架,它们组合起来可以构建出高效、可维护的企业级应用程序。本项目旨在为初学者提供一个基础的入门指南,帮助理解并掌握这三个框架的集成与使用,实现CRUD...

    struts2+ibatis+Spring 入门

    Struts2、iBatis和Spring是Java Web开发中三个非常重要的框架,它们结合使用能够构建出高效、灵活的企业级应用程序。以下是对这三个框架及其整合使用的详细解释。 **Struts2** 是一个基于MVC(Model-View-...

    struts2+iBatis+spring2.x入门实例

    Struts2、iBatis和Spring 2.x是经典的Java Web开发框架组合,它们共同构建了一个灵活、可扩展且易于管理的应用程序架构。这个入门实例是针对初学者设计的,旨在帮助理解这三个框架如何协同工作。 **Struts2** 是一...

    Webwork2+Spring+Ibatis+Hibernate框架中文教程

    2. **Spring框架入门**:介绍Spring容器、依赖注入、AOP和事务管理,以及如何配置和集成Webwork2。 3. **Ibatis实战**:学习配置XML映射文件,编写动态SQL,以及与Spring的集成,实现DAO层的开发。 4. **Hibernate...

    s2si框架 ssi框架 structs2+spring+ibatis组合框架(内含例子)

    "S2SI框架",全称为"Structs2+Spring+Ibatis集成框架",是一种基于Java的Web开发框架,旨在简化企业级应用的开发过程。该框架结合了三个流行的开源组件——Structs2、Spring和Ibatis,以提供一个高效、灵活且易于...

    webwork增删改简单入门例子(+spring+ibatis)

    在这个“webwork增删改简单入门例子(+spring+ibatis)”中,我们将探讨如何结合Spring和iBatis这两个流行的技术来构建一个基础的CRUD(创建、读取、更新、删除)应用。 1. WebWork基础知识: - 控制器:WebWork的...

    Ibatis 入门经典 实例

    《Ibatis 入门经典 实例》 Ibatis 是一款著名的轻量级 Java 持久层框架,它提供了一种映射 SQL 和 Java 对象的简单方式,从而减轻了开发人员在数据库操作中的工作负担。这篇实例教程将带你深入理解 Ibatis 的核心...

    mybatis3+spring配置

    - 尽管Spring 3.0支持iBatis 2,但在MyBatis 3正式发布之前,Spring 3.0的开发周期已经结束。因此,Spring开发团队未将对非正式发布的MyBatis 3的支持纳入其官方版本中。为了解决这一问题,MyBatis社区决定启动一个...

    ibatis入门

    - 易于集成:Ibatis 可以轻松地与其他框架(如 Spring)集成,实现更强大的功能。 通过这个入门教程,你将掌握 Ibatis 的基础用法,从而能够进行基本的数据库操作。在实际项目中,随着对 Ibatis 的深入理解和应用...

    cairngorm简单入门实例(结合spring+ibatis)

    提供的"cairngorm简单入门实例.doc"文档应该详细介绍了如何设置项目、配置Cairngorm框架、整合Spring和iBatis,以及创建和运行一个基本的交互流程。`cairngormDemo`可能是一个包含所有源代码和配置文件的项目,包括...

    SSI Spring+struts1+ibatis案例

    在IT行业中,SSI(Spring、Struts1、iBatis)是经典的Java Web开发框架组合,它们各自负责应用的不同层面,协同工作以构建高效、可维护的系统。在这个"Spring+struts1+ibatis案例"中,我们将深入探讨这三个框架如何...

    ibatis大全

    【描述】"ibatis2入门"指出这是一套针对iBATIS 2.x版本的学习资料,涵盖了从基础到进阶的内容。"struts2+spring2+ibatis2整合"则表明本资料包不仅关注iBATIS,还讨论了如何将iBATIS与另外两个流行的企业级框架——...

    Ibatis入门例子,Ibatis教程

    Ibatis,全称为MyBatis,是一个优秀的Java持久层...在实际项目中,结合Spring框架使用Ibatis,可以构建出更加健壮、高效的后端系统。因此,无论你是初学者还是有经验的开发者,掌握Ibatis都是提升自己技能的好选择。

    ibatis开发手册及入门教程

    ### iBATIS SQL Maps 入门教程知识点梳理 #### 一、iBATIS SQL Maps 概述 - **定义**:iBATIS SQL Maps(现称为 MyBatis)是一种用于Java的优秀持久层框架,它简化了SQL语句与Java代码间的耦合问题,使得开发者...

    最简单的iBatis入门例子

    本教程将带你一步步走进iBatis的世界,通过一个最简单的入门例子来了解其基本概念和使用方法。 一、iBatis简介 iBatis(现在称为MyBatis)是由Apache软件基金会维护的一个开源项目,它解决了Java应用程序直接操作...

    ibatisDemo 入门源码

    《IbatisDemo入门源码详解》 IbatisDemo是一个典型的基于Ibatis框架的入门示例,它为我们展示了如何在Java项目中使用Ibatis进行数据库操作。Ibatis,一个优秀的持久层框架,它允许开发者将SQL语句直接写在配置文件...

    iBatis教程(从入门到熟练3部教程)共3个!!

    这通常涉及到设置数据源、事务管理器,以及在Spring等框架中集成iBatis。 其次,教程可能会深入讲解动态SQL,这是iBatis的一个强大特性。通过动态SQL,你可以根据条件灵活地构建SQL语句,避免了大量的硬编码和重复...

    ibatis入门教程_ibatis入门教程_源码

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得...通过学习这个Ibatis入门教程,你可以了解并掌握如何在Java应用中使用Ibatis进行数据操作,为后续的进阶学习和项目开发打下坚实的基础。

Global site tag (gtag.js) - Google Analytics