`

Mybatis/Ibatis例子(添加,修改,删除,获得结果集)

阅读更多
关键词: Mybatis,Ibatis,添加,修改,删除,获得结果集

1.获得结果集
<select id="selectUserFromId" parameterType="int" resultType="com.zakisoft.ibt.UserVo">
		select * from user where id = #{id}
	</select>
	
	<select id="selectAllUsers" resultType="com.zakisoft.ibt.UserVo">
		select * from user
	</select>

public List<?> selectUserFromId(int id) {
		SqlSession session = sqlSessionFactory.openSession();
		List<?> users = null;
		try {
			UserOp mapper = session.getMapper(UserOp.class);
			users = mapper.selectUserFromId(id);
			if (0 < users.size()) {
				UserVo user = (UserVo) users.get(0);
				System.out.println("Get User Name: " + user.getName());
			}
		} finally {
			session.close();
		}
		return users;
	}

	public List<?> selectAllUsers() {
		SqlSession session = sqlSessionFactory.openSession();
		try {
			UserOp mapper = session.getMapper(UserOp.class);
			List<?> users = mapper.selectAllUsers();
			if (0 < users.size()) {
				UserVo user;
				for (int i = 0; i < users.size(); i++) {
					user = (UserVo) users.get(i);
					System.out.println("User Id:" + user.getId() + " --- "
							+ "User Name:" + user.getName());
				}
			}
		} finally {
			session.close();
		}
		return null;
	}


2.添加数据
<insert id="insertNewOneUser" keyProperty="id" parameterType="com.zakisoft.ibt.UserVo" useGeneratedKeys="true">
		insert into user (name, password) values (#{name},#{password})
	</insert>

public int insertNewOneUser(UserVo user) {
		user = new UserVo();
		user.setName("username: " + new Random().nextInt());
		user.setPassword("passowrd: " + new Random().nextInt());

		SqlSession session = sqlSessionFactory.openSession();
		int count = 0;
		try {
			UserOp mapper = session.getMapper(UserOp.class);
			count = mapper.insertNewOneUser(user);
			System.out.println("count: " + count);
			// 请注意一定需要提交。
			session.commit();
		} finally {
			session.close();
		}

		return count;
	}


3.更新数据
<update id="updateUser" parameterType="com.zakisoft.ibt.UserVo">
		update user set name = #{name}, password = #{password} where id = #{id}
	</update>

public int updateUser(UserVo user){
		SqlSession session = sqlSessionFactory.openSession();
		int count = 0;
		try {
			UserOp mapper = session.getMapper(UserOp.class);
			count = mapper.updateUser(user);
			System.out.println("count: " + count);
			// 请注意一定需要提交。
			session.commit();
		} finally {
			session.close();
		}
		return count;
	}


4.删除数据
<delete id="deleteUserById" parameterType="int">
		delete from user where id = #{id}
	</delete>

public int deleteUserById(int id){
		SqlSession session = sqlSessionFactory.openSession();
		int count = 0;
		try {
			UserOp mapper = session.getMapper(UserOp.class);
			count = mapper.deleteUserById(id);
			System.out.println("count: " + count);
			// 请注意一定需要提交。
			session.commit();
		} finally {
			session.close();
		}
		return count;
	}



5.源码和例子下载
http://www.zakisoft.com/?p=85
分享到:
评论
5 楼 zjdyxxktc0721 2014-10-25  
我想问下,mybatis里用注解执行update和delete有返回值吗?我在网上看到的都是void,如果想要有int的返回值是不是要配置xml?可我用的注解的方式(@delete和@update)
4 楼 午饭OTZ 2012-04-25  
浅显易懂非常感谢,转到我空间了,会在开篇说明出处
3 楼 bubiaiyou 2011-09-14  
不过我还是对你的这些更新 和添加 感兴趣,希望你能帮我一下,
bubiaiyou@msn.cn 这是我的邮箱 有时间帮帮我 
2 楼 bubiaiyou 2011-09-14  
兄弟,你的demo写的是swing 只有一个配置文件是Mybatis的 ,
忽悠人的
1 楼 bubiaiyou 2011-09-14  
请问,你用Mapper时 更新和添加都成功么
为什么我这里都不可以呢   你知道什么原因么

相关推荐

Global site tag (gtag.js) - Google Analytics