iBatis入门实例(未运行)
作者:admin 日期:2007-08-17
说明:本实例教程来自夏昕的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;
}
}
点击下载此文件
一、 开发环境:
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;
}
}
点击下载此文件
评论: 0 | 引用: 0 | 查看次数: 1916
发表评论
你没有权限发表留言!