`

MyBatis学习3之CRUD

阅读更多

接着上一篇博客,基于上次的开发环境此篇文章我们通过mybatis对t_group表进行CRUD操作

一、使用MyBatis对t_group表执行CRUD操作——基于XML的实现

1、在sql映射文件GroupMapper.xml添加以下内容

 

<!-- 插入数据 -->
<insert id="addGroup">
	insert into t_group (group_name,description) values (#{groupName},#{description})
</insert>

 2、使用Junit编写单元测试用例

    2.1添加操作

public class TestMyBatis2 extends TestCase {

	private  SqlSessionFactory sqlSessionFactory;
	private  Reader reader;
	@Override
	protected void setUp() throws Exception {
		try {
			reader = Resources.getResourceAsReader("mybatis.xml");
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public void testAddGroup(){
		SqlSession session = null;
		try{
			session = sqlSessionFactory.openSession();
			String statement = "com.zlt.mybatis.model.Group.addGroup";
			Group data = new Group();
			data.setGroupName("游侠组");
			data.setDescription("游便大江南北");
			session.insert(statement,data);
		}finally{
			if(null != session) session.close();
		}
	}

 运行程序,没有错误,但是表中并没有添加此记录,造成此现象说明mybatis进行CRU操作时默认的是手动提交事务.

 在session.insert(statement,data);添加以下内容

session.commit();//手动提交事务

 在执行程序,表中记录添加了

   2.2更新操作

   在sql映射文件GroupMapper.xml添加以下内容

 

<!-- 更新数据 -->
<update id="updateGroup">
	update t_group set group_name =#{groupName},description=#{description} where id = #{id}
</update>

   单元测试:

 

public void testUpdateGroup(){
		SqlSession session = null;
		try{
			session = sqlSessionFactory.openSession();
			String statement = "com.zlt.mybatis.model.Group.updateGroup";
			Group data = new Group();
			data.setId(3);
			data.setGroupName("特工组");
			data.setDescription("进行特殊任务");
			session.update(statement,data);
			session.commit();
		}finally{
			if(null != session) session.close();
		}
	}

 运行结果:

 2.3删除操作

在sql映射文件GroupMapper.xml文件中添加以下内容

	<!-- 删除数据 -->
	<delete id="deleteGroupByID" parameterType="int">
		delete from t_group where id =#{id}
	</delete>

 单元测试

public void testDeleteGroup(){
		SqlSession session = null;
		try{
			session = sqlSessionFactory.openSession();
			String statement = "com.zlt.mybatis.model.Group.deleteGroupByID";
			Group data = new Group();
			data.setId(3);
			data.setGroupName("特工组");
			data.setDescription("进行特殊、高效的任务");
			session.update(statement,data);
			session.commit();
		}finally{
			if(null != session) session.close();
		}
	}

运行结果

 2.4查询所有记录

在sql映射文件GroupMapper.xml添加以下内容

	<!-- 查询所有记录 -->
	<select id="selectGroups" parameterType="int" resultType="Group" >
		select t.id,t.group_name groupName,t.description from t_group t 
	</select>

 单元测试:

public void testQueryAllGroup(){
		SqlSession session = null;
		try{
			session = sqlSessionFactory.openSession();
			String statement = "com.zlt.mybatis.model.Group.selectGroups";
			List<Group> groups = session.selectList(statement);
			for (Group g : groups) {
				System.out.println("ID:" + g.getId() + "name:" + g.getGroupName() + "description:" + g.getDescription());
			}
		}finally{
			if(null != session) session.close();
		}
	}

运行结果:

 

 

  • 大小: 26.9 KB
  • 大小: 24.2 KB
  • 大小: 25.7 KB
  • 大小: 24 KB
  • 大小: 8.2 KB
分享到:
评论

相关推荐

    mybatis基于Dao的crud操作源码

    本项目是基于Mybatis进行DAO(Data Access Object)层的CRUD(Create、Read、Update、Delete)操作的源码实现,结合了Spring框架,便于管理和集成事务。 在Mybatis中,CRUD操作主要通过Mapper接口和对应的XML配置...

    05实现mybatis简单crud功能demo

    05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能...

    SpringBoot+Mybatis+前端页面 CRUD 整合案例

    SpringBoot+Mybatis+前端页面 CRUD 整合案例 ,Controller+ Service Mapper +Pojo 四层结构 +前端页面。 逻辑代码全部调通, 非常适合初学者或者快速开发CRUD的兄弟。

    MyBatis+Spring整合CRUD

    **MyBatis+Spring 整合 CRUD 操作详解** 在现代Java Web开发中,MyBatis和Spring框架的结合使用非常普遍,它们可以提供高效、灵活的持久层解决方案。MyBatis是一个轻量级的SQL映射框架,它将SQL语句与Java代码分离...

    使用MyBatis实现基本的CRUD操作.zip

    本教程将详细介绍如何使用MyBatis实现基本的CRUD(创建Create、读取Read、更新Update、删除Delete)操作。 首先,我们需要了解MyBatis的基本架构。MyBatis的核心组件包括:SqlSessionFactoryBuilder、...

    springMVC+Spring+Mybatis+Maven整合CRUD

    在SSM中,Mybatis负责数据的CRUD操作,Spring则管理Mybatis的SqlSession和Mapper接口,使得事务控制更加方便。 **Maven** Maven是Java项目管理工具,它定义了一种标准的方式来组织项目结构、管理依赖和构建项目。在...

    MyBatis 采用注解方式实现CRUD

    然而,随着Java注解的普及,MyBatis也引入了注解方式来简化配置,让CRUD(创建、读取、更新、删除)操作更加便捷。下面我们将详细介绍如何使用注解实现MyBatis的CRUD。 1. **注解简介** MyBatis 的注解主要包括 `@...

    第一个mybatis程序——CRUD

    3. **配置MyBatis**:在项目根目录下创建`mybatis-config.xml`,配置数据库连接信息,例如: ```xml ;serverTimezone=UTC"/&gt; ``` 4. **定义实体类**:根据你的业务需求,创建对应的Java...

    MyBatis实现简单的CRUD,适合初学者

    在本教程中,我们将深入探讨如何使用MyBatis来实现简单的CRUD(创建、读取、更新、删除)操作,这对于初学者来说是理解数据库操作与框架整合的重要步骤。 首先,我们需要了解MyBatis的基本架构。MyBatis由...

    Springboot+Mybatis实现分页+CRUD

    本篇文章将详细讲解如何利用Spring Boot和MyBatis实现分页查询以及基本的CRUD(创建、读取、更新、删除)操作。 首先,Spring Boot是Spring框架的简化版,它提供了自动配置、起步依赖和内嵌Web服务器等功能,大大...

    mybatisCRUD (Mybatis 增删改查 代码)

    本项目主要展示了如何使用Mybatis进行基本的CRUD(创建、读取、更新、删除)操作,并且结合了Junit进行单元测试,确保代码的正确性。 在Mybatis中,CRUD操作的核心在于Mapper接口和XML配置文件。Mapper接口定义了...

    ibatis mybatis 分页 crud 完整代码

    总的来说,这份资源对于学习和实践Ibatis与Mybatis的CRUD操作以及分页功能非常有价值。通过理解并掌握这些知识,开发者能够有效地管理数据库操作,提升应用的性能和用户体验。同时,提供的公司网站链接也为开发者...

    ibatis mybatis crud 完整代码

    3. **更新(Update)**:更新操作类似于插入,但使用`update`标签。例如,更新用户信息: ```java // Mapper接口 public interface UserMapper { int updateUser(User user); } ``` ```xml &lt;!-- XML配置文件...

    封装通用的Spring3+Struts2+MyBatis3的CRUD+条件分页查询

    "封装通用的Spring3+Struts2+MyBatis3的CRUD+条件分页查询"是一个典型的企业级Web应用开发实践,它整合了三个主流的Java开源框架,即Spring、Struts2和MyBatis3,用于实现数据的创建(Create)、读取(Read)、更新...

    基于Mybatis-Plus的CRUD的实现

    3. 在Mybatis-Plus框架下,项目mapper层接口可以通过继承BaseMapper获取基本的CRUD功能,而无需编写mapper.xml语句。 4. Mybatis-Plus提供了丰富的查询功能,支持多种查询方式,例如根据条件查询、分页查询等。 5. ...

    mybatis基础CRUD

    本教程将围绕"Mybatis基础CRUD"这一主题,深入探讨MyBatis如何实现增删改查的基本操作。 首先,我们需要了解MyBatis的基本架构。MyBatis的核心组件包括SqlSessionFactory、SqlSession和Mapper接口。...

    MyBatis-CRUD

    MyBatis-CRUD 是一个围绕MyBatis框架...总的来说,MyBatis-CRUD项目是学习和实践MyBatis基础功能的典型示例,通过它,你可以深入了解如何利用MyBatis进行数据库操作,提升开发效率,同时掌握SQL与Java代码的解耦技巧。

    MyBatis学习笔记1

    通过这些测试用例,读者可以更直观地学习如何使用MyBatis进行数据库操作,包括CRUD(创建、读取、更新、删除)以及更复杂的查询。 总之,"MyBatis学习笔记1"是一份关于MyBatis框架基础和进阶使用的教程,通过学习,...

    mybatis-generic-crud:说明使用 GenericCrudMapper 和 GenericCrudService 的示例 MyBatis 模块

    mybatis-generic-crud MyBatis 模块说明使用 GenericCrudMapper 和 GenericCrudService 很多时候,您的应用程序包括执行常见的 CRUD 类型操作(创建、读取、更新、删除。) 我是 MyBatis 的忠实粉丝,并且已经...

Global site tag (gtag.js) - Google Analytics