`

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时 更新和添加都成功么
为什么我这里都不可以呢   你知道什么原因么

相关推荐

    mybatis/ibatis代码生成器

    数据库代码生成器,支持mybatis/ibatis两个版本;注意,ibatis(ibatis2)和mybaits(ibatis3)的xml文件中有一些语法不一样,例如 select 等元素的 parameterClass 属性改为了 parameterType 属性,resultClasss 属性改为了 ...

    mybatis/ibatis自动生成SQLMapper脚本

    MyBatis/iBatis 是两个流行的数据访问框架,它们简化了Java开发中的数据库操作。iBatis 是早期的版本,而 MyBatis 是其后继者,提供了更加强大和灵活的功能。本教程将深入探讨如何使用MyBatis/iBatis自动生成SQL...

    根据MyBatis或iBatis的SQLMapper文件反向生成数据库表

    根据MyBatis或iBatis的...这可以通过编程语言与数据库操作的API来实现,比如Java中的JDBC或者MyBatis/iBatis提供的API。 执行SQL语句: 最后,将生成的数据库表结构信息通过执行相应的SQL语句来创建或者修改数据库表。

    根据mybatis/ibatis sqlmapper文件解析生成数据库表

    标题 "根据mybatis/ibatis sqlmapper文件解析生成数据库表" 暗示了我们将会探讨一个关于MyBatis或iBatis框架的工具,它能够解析SQL映射文件并根据这些文件自动生成数据库表。这个过程对于快速构建数据库模型,尤其是...

    Mybatis/ibatiS多表映射 一对一 一对多 extjs前台取值 详细讲解

    总结来说,这个话题覆盖了Mybatis/iBatis中的多表映射,通过XML配置文件处理一对一和一对多关系,以及如何在ExtJS前端通过Model和Grid获取并展示这些数据。了解这些知识对于开发涉及多表交互的应用至关重要,能够...

    generate mybatis ibatis artifacts

    MyBatis消除了几乎所有的JDBC代码和手动设置参数,同时避免了对结果集的检索。通过XML或注解方式配置和原始映射,使得SQL与Java代码完全分离,提高了可维护性。 2. **Eclipse集成插件** "generate mybatis ibatis ...

    从iBatis迁移到MyBatis

    总的来说,从iBatis迁移到MyBatis是一个涉及代码修改、配置调整和团队成员培训的过程。虽然初期可能需要投入一些时间和精力,但MyBatis的诸多增强特性和更好的集成能力,通常会带来长期的开发效率提升和项目维护的...

    OA系统-springMVC/Mybatis/Mysql/Bootstrap

    OA系统-springMVC/Mybatis/Mysql/Bootstrap OA系统-springMVC/Mybatis/Mysql/Bootstrap OA系统-springMVC/Mybatis/Mysql/Bootstrap

    myBatis or ibatis 神器

    标题中的“myBatis or ibatis 神器”指的是两个知名的Java持久层框架——myBatis和iBatis。这两个框架在Java开发中扮演着重要角色,它们简化了数据库操作,让开发者能够更加专注于业务逻辑,而不是底层的SQL查询。 ...

    myBatis和ibatis的区别

    ### myBatis与ibatis的区别 #### 一、概述 myBatis与ibatis是两款在Java领域中非常流行的持久层框架,它们均基于SQL映射机制,为开发者提供了便捷的方式来处理数据库操作。两者间的关系密切,ibatis是myBatis的...

    mybatis和ibatis代码生成工具

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 ...

    mybatis-3-config/mapper.dtd 解决mybatis头文件报错

    &gt;Window-&gt;prefenrence-&gt;XML-&gt;XML Catalog-&gt;User Specifiled Entreis-&gt;Add-&gt;Location(此处是你放dtd文件的位置例如:‪D:\mybatis\mybatis-3-config.dtd)-&gt;Key(如果更改config,此处应该是:-//mybatis.org//DTD ...

    springboot集成jdbcTemplate/Mybatis/JPA

    springboot集成jdbcTemplate/Mybatis/JPA 代码

    generator, A code generator for MyBatis and iBATIS..zip

    MyBatis Generator(MBG)是一个强大的代码生成器,它为MyBatis和iBATIS提供了自动生成Java源代码和XML映射文件的能力。这个工具极大地简化了开发过程,减少了手动编写重复的 CRUD(创建、读取、更新、删除)操作...

    MyBatis(iBATIS) 学习

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 1. ...

    代码生成平台controller/service/dao/mybatis/model

    代码生成平台controller/service/dao/mybatis/model

    mybatis-3.4.6.jar

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 标题中...

    mybatis,ibatis,hibernate 显示查询SQL

    在IT行业中,数据库操作是应用程序开发的核心部分,而MyBatis、iBatis和Hibernate都是流行的Java持久层框架,它们简化了与数据库交互的过程。这三个框架各有特点,但都提供了ORM(对象关系映射)机制,帮助开发者将...

    mybatis-3.4.1

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github

    mybatis-3.5.9-API文档-中文版.zip

    赠送jar包:mybatis-3.5.9.jar; 赠送原API文档:mybatis-3.5.9-javadoc.jar; 赠送源代码:mybatis-3.5.9-sources.jar; 赠送Maven依赖信息文件:mybatis-3.5.9.pom; 包含翻译后的API文档:mybatis-3.5.9-javadoc-...

Global site tag (gtag.js) - Google Analytics