iBatis入门实例(未运行)

说明:本实例教程来自夏昕的iBatis开发指南,修正了其中的一个bug,添加了系统的支持类库,并最终通过运行。

一、 开发环境:

JDK1.5、Eclpse3.1、spring-framework-1.2.4-with-dependencies、MSSQLServer2000

二、 系统需要的类库:

jarkata commons中的commons-bdcp.jar、 commons-pool.jar、commons-logging.jar;

iBatis中的ibtis-common-2.jar、ibatis-sqlmap-2.jar、ibatis-sqlmap.jar;

spring的spring.jar;

SQLServer驱动程序jtds-1.1.jar。

三、 代码:

系统目录:(略)

 


代码:

 

1、IBatis-Context.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" destroy-method="close">

              <property name="driverClassName">

                   <value>net.sourceforge.jtds.jdbc.Driver</value>

              </property>

              <property name="url">

                   <value>jdbc:jtds:sqlserver://localhost:1433/vehicle</value>

              </property>

              <property name="username">

                   <value>diss</value>

              </property>

              <property name="password">

                   <value>diss</value>

              </property>

          </bean>

     

          <bean id="sqlMapClient"

              class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

              <property name="configLocation">

                   <value>SqlMapConfig.xml</value>

              </property>

          </bean>

     

          <bean id="transactionManager"

              class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

              <property name="dataSource">

                   <ref local="dataSource"/>

              </property>

          </bean>

     

          <bean id="userDAO" class="net.xiaxin.dao.UserDAO">

              <property name="dataSource">

                   <ref local="dataSource" />

              </property>

          <property name="sqlMapClient">

              <ref local="sqlMapClient" />

          </property>

          </bean>

     

          <bean id="userDAOProxy"

              class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">

              <property name="transactionManager">

                   <ref bean="transactionManager" />

              </property>

              <property name="target">

                   <ref local="userDAO" />

              </property>

              <property name="transactionAttributes">

                   <props>

                        <prop key="insert*">PROPAGATION_REQUIRED</prop>

                        <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>

                   </props>

              </property>

          </bean>

     

</beans>

 

2、sqlMapConfig.xml(系统根目录)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"

         "http://www.ibatis.com/dtd/sql-map-config-2.dtd">

<sqlMapConfig>

          <sqlMap resource="net/xiaxin/dao/entity/user.xml"/>

</sqlMapConfig>

 

3、user.xml(net.xiaxin.dao.entity目录)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMap

          PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"

          "http://www.ibatis.com/dtd/sql-map-2.dtd">

     

<sqlMap namespace="User">

          <typeAlias alias="user" type="net.xiaxin.dao.entity.User" />

          <insert id="insertUser" parameterClass="user">

              Insert INTO users ( username, password) VALUES ( #username#,

              #password# )

          </insert>

</sqlMap>

 

4、Test.java(系统根目录)

import java.io.FileNotFoundException;

import net.xiaxin.dao.IUserDAO;

import net.xiaxin.dao.entity.User;

 

import org.springframework.beans.factory.xml.XmlBeanFactory;

import org.springframework.core.io.FileSystemResource;

import org.springframework.core.io.Resource;

 

public class Test {

 

     /**

      * @param args

      * @throws FileNotFoundException 

      */

     public static void main(String[] args)  {

         try{

         //InputStream is = new FileInputStream("Ibatis-Context.xml");

         FileSystemResource is=new FileSystemResource("Ibatis-Context.xml");

         XmlBeanFactory factory = new XmlBeanFactory((Resource) is);

         IUserDAO userdao = (IUserDAO)factory.getBean("userDAOProxy");

         User user = new User();

         user.setUsername("Sofia");

         user.setPassword("mypass");

         userdao.insertUser(user);

         }

         catch(Exception e){e.printStackTrace();}

     }

 

}

 

5、User.java(net.xiaxin.dao目录)

package net.xiaxin.dao;

 

import net.xiaxin.dao.entity.User;

 

public interface IUserDAO {

     public void insertUser(User user);

}

 

6、UserDAO.java(net.xiaxin.dao目录)

package net.xiaxin.dao;

 

import net.xiaxin.dao.entity.User;

 

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

 

public class UserDAO extends SqlMapClientDaoSupport implements

IUserDAO {

public void insertUser(User user) {

getSqlMapClientTemplate().update("insertUser", user);

}

}

 

7、User.java(net.xiaxin.dao.entity目录)

package net.xiaxin.dao.entity;

 

public class User {

     public Integer id;

     public String username;

     public String password;

     public Integer getId() {

     return id;

     }

     public void setId(Integer id) {

     this.id = id;

     }

     public String getPassword() {

     return password;

     }

     public void setPassword(String password) {

     this.password = password;

     }

     public String getUsername() {

     return username;

     }

     public void setUsername(String username) {

     this.username = username;

     }

     }


下载文件 点击下载此文件



文章来自: 本站原创
引用通告地址: http://www.is21.cn/trackback.asp?tbID=31
Tags:
评论: 0 | 引用: 0 | 查看次数: 1916
发表评论
你没有权限发表留言!