5、创建测试程序测试:
package com.bjsxt.crm.model;
import java.io.Reader; import java.util.Iterator; import java.util.List;
import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder;
/** *最简单的形式! *@authorLee * */ publicclass UserTest {
/** *@paramargs */ publicstaticvoid main(String[] args) throws Exception{
//从配置文件中得到SqlMapClient对象 Reader reader = Resources.getResourceAsReader("sqlMapConfig.xml"); SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close();
//创建用户数据 for(int i=0; i<10; i++){ User user = new User(); user.setUsername("用户"+i); user.setPassword("密码"+i); sqlMapper.insert("insertUser", user); }
//查询用户数据 List users = sqlMapper.queryForList("selectAllUsers"); for (Iterator iter = users.iterator(); iter.hasNext();) { User user = (User) iter.next(); System.out.println(user.getUsername()); }
//查询特定用户的数据 User user = (User)sqlMapper.queryForObject("selectUser", 1); System.out.println("用户【id="+1+"】的名称是:"+user.getUsername());
//更新用户的信息 user = new User(); user.setId(3); user.setUsername("更改之后的用户名称"); user.setPassword("密码被更改"); sqlMapper.update("updateUser", user);
//删除用户的信息 sqlMapper.delete("deleteUser", 6); }
}
|
SqlMapClient对象
这个对象是iBatis操作数据库的接口(执行CRUD等操作),它也可以执行事务管理等操作。这个类是我们使用iBATIS的最主要的类。它是线程安全的。通常,将它定义为单例。(与hibernate中sessionFactory的定义类似)。如:
import java.io.Reader; import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class IbatisSQLMapConfig {
private static final SqlMapClient sqlMap;
//在静态区块中初试化返回 static { try { //声明配置文件的名称(映射文件被定义在其中) String resource = "sql_map_config.xml";
//利用工具类Resources来读取到配置文件 Reader reader = Resources.getResourceAsReader(resource);
//创建SqlMapClient接口的变量实例 sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) { e.printStackTrace(); throw new RuntimeException( "Error initializing MyAppSqlConfig class. Cause: " + e); } } public static SqlMapClient getSqlMapInstance() { //提供静态方法返回静态区块中得到的SqlMapClient return sqlMap; } } |
How To
如何获得刚插入记录的自增长ID值?
<insert id="insertUser" parameterClass="User"> insert into t_user values ( null,#username#,#password# ) <selectKey resultClass="int" keyProperty="id"> SELECT @@IDENTITY AS ID </selectKey> </insert> |
User user = new User(); user.setUsername("张三"); user.setPassword("张三密码");
//如果主键是自动生成的,则其返回值可以通过<selectKey>标签来设置 //如果不通过<selectKey>标签来设置,则返回值为空! //<selectKey >中的keyProperty,是指定User中的id属性,当调用结束之后, //user对象的id值和insert方法的返回值都是这条记录的ID值! Object obj = sqlMapper.insert("insertUser", user); |
parameterClass的使用
<insert id="insertUser" parameterClass="User"> insert into t_user values ( null,#username#,#password# ) <selectKey resultClass="int" keyProperty="id"> SELECT @@IDENTITY AS ID </selectKey> </insert>
<insert id="insertUser2"> insert into t_user values ( null,#username#,#password# ) <selectKey resultClass="int" keyProperty="id"> SELECT @@IDENTITY AS ID </selectKey> </insert> |
insertUser使用了parameterClass,所以必需传入User类型的对象
User user = new User(); user.setUsername("张三"); user.setPassword("张三密码");
//传递进去的对象,必须是User类型 Object obj = sqlMapper.insert("insertUser", user); |
insertUser2没有使用parameterClass,所以可以传入任意具有相应属性值的对象
JustAnObject anobj = new JustAnObject(); anobj.setUsername("用户名"); anobj.setPassword("用户密码");
<span style='font-size: 10pt; color: #3f7f5f; font-family: "Courier New" |
相关推荐
ibatis-2.3.4.726.jar,ibatis-2.3.0.677.jar,ibatis-2.3.3.720.jar下载,都已放入一个压缩包下。
ibatis-sqlmap ibatis-sqlmap-2 ibatis-sqlmap-2.jar.zip
iBATIS-SqlMaps-2-Tutorial_cniBATIS-SqlMaps-2-Tutorial_cn.pdf.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdfiBATIS-SqlMaps-2-Tutorial_cn.pdf
ibatis-sqlmap-2.jar 对数据库进行操作的jar包 很方便使用
apache开源项目源码ibatis-3-core-src-3.0.0.227 ibatis框架java源程序 spring,struts,hibernate,ibatis,框架源码 各种ibatis框架应用源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其...
包括ibatis-common-1.3.1.jar ibatis-common-2.jar
ibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zip
ibatis-dao-2.jar gggggggggggg
ibatis-common-2.jar...........
ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包
iBATIS-SqlMaps-2_ja说明资料
ibatis-3-core-3.0.0.200
ibatis-2.3.ibatis-2.3.ibatis-2.3
iBATIS-SqlMaps2入门代码文档
ibatis-2.3.4.zip ibatis-2.3.4.zip ibatis-2.3.4.zip
iBATIS-DAO-2.pdf
iBATIS-SqlMaps ibatis入门教程,教你如何做配置ibatis
ibatis-3-core-3.0.0.242.zip ibatis-3-core-3.0.0.242.zip ibatis-3-core-3.0.0.242.zip ibatis-3-core-3.0.0.242.zip
iBATIS-SqlMaps-2_cn中文文档