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>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值