Spring Boot整合MyBatis Plus,实现增删改查(CRUD)

前言

软件开发中,无论我们身处什么行业(如:金融、电商、医疗、政府、电信等行业),底层实现都离不开数据库的增删改查操作。每个程序开发人员的工作也离不开CRUD。

下面通过Spring Boot整合MyBatis Plus来实现数据库的增删改查操作。

正文

开始之前,进修者先让大家了解一些概念。因为想要走的更远,不能只停留在会用,还要知道概念原理。唯有理论和实践相结合,才会提升的更快。紧接着概念之后,就是我们具体的实践了。一定要认真阅读学习哦!
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第1张图片

概念早知道

MVC框架模式,它既是框架也是设计模式。所以说MVC的设计者很不简单。框架和设计模式还是有区别的,框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。

MVC(模型,视图,控制器),M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

我们企业级(J2EE)项目开发一般是基于MVC框架模式来设计的。下面的项目示例就是基于MVC框架模式设计的。

创建Spring Boot项目

创建项目工程,这里就不做介绍了,大家应该知道可以通过IDEA快速创建或通过MyEclipse进行创建等。

本案例采用MyEclipse创建Spring Boot项目,还不熟悉的可以参考这篇文章:MyEclipse10如何快速搭建SpringBoot环境

整合MyBatis Plus

在pom.xml中添加MyBatis-Plus框架依赖

	<dependency>
		<groupId>com.baomidougroupId>
		<artifactId>mybatis-plus-boot-starterartifactId>
		<version>2.3.1version>
	dependency>
	<dependency>
		<groupId>com.baomidougroupId>
		<artifactId>mybatis-plus-generatorartifactId>
		<version>2.3.1version>
	dependency>

配置数据源

该项目数据库采用的是MySQL数据库。打开application.yml配置文件,添加MySQL数据源配置

#连接数据库信息
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/userssm?characterEncoding=UTF8
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
    
# print logger
logging:
  level:
    com.training.mapper: DEBUG

实现增删改查(CRUD)功能

下面开始具体介绍增删改查的相关操作。开始之前,确保数据库中已经创建好相关表,项目中包也定义完成。

告诉大家一个简单的方式,可以通过MyBatis-Plus的代码生成器来生成代码哦!不会的参考这篇文章:MyBatis Plus中的代码生成器,让写代码变得如此简单

添加

在UserMapper接口类中增加自定义的添加用户的接口,也可以使用MyBatis-Plus提供的。

	/**
	 * to add the User to MySQL database
	 * @param user
	 */
	Integer saveUser(User user);

在UserMapper.xml中配置添加用户的逻辑

   <insert id="saveUser" parameterType="com.training.entity.User">
    	insert into user (name, pwd, dept, website, phone) 
		values(#{name}, #{pwd},#{dept}, #{website}, #{phone})
    insert>

业务层UserService中定义添加用户的接口和UserMapper中的保持一致就可以了,也可以定义不同方法名

	/**
	 * to add the User to MySQL database
	 * @param user
	 */
	Integer saveUser(User user);

在UserServiceImpl实现类中实现添加用户的方法

    @Autowired
	private UserMapper userMapper;

	@Override
	public Integer saveUser(User user) {
		// TODO Auto-generated method stub
		return userMapper.saveUser(user);
	}

控制器类UserController中编写Rest映射请求

    @Autowired
	private UserService userService;
	
	/**
	 * to insert the user data into the table
	 * @param user
	 * @return
	 */
	@RequestMapping("/save")
	public String saveUser(@RequestBody User user) {
		Integer result = userService.saveUser(user);
		if (null == result || result == 0) {
			return "save failure!";
		}
		return "save successful!";
	}

验证添加用户功能,可以写测试类测试;这里为了方便使用postman工具进行测试。
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第2张图片
查看数据库,看是否真的添加成功,数据库中有新增的记录代表插入成功,如下图所示:
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第3张图片

查询

在UserMapper接口类中增加自定义的查询用户的接口,也可以使用MyBatis-Plus提供的。

	/**
	 * via the parameter name 'id' then to query the user object
	 * @param id
	 * @return
	 */
	User queryUserById(int id);

在UserMapper.xml中配置查询用户的数据库操作逻辑

    <select id="queryUserById" parameterType="int" resultType="com.training.entity.User">
    	select * from user where id=#{id}
    select>

业务层UserService中定义查询用户的接口和UserMapper中的保持一致就可以了。

	/**
	 * via the parameter name 'id' then to query the user object
	 * @param id
	 * @return
	 */
	User queryUserById(int id);

在UserServiceImpl实现类中实现查询用户的方法

	@Override
	public User queryUserById(int id) {
		// TODO Auto-generated method stub
		return userMapper.queryUserById(id);
	}

控制器类UserController中编写查询用户的Rest映射请求

	@RequestMapping("/query")
	public User queryUserById(int id) {
		return userService.queryUserById(id);
	}

验证查询用户的功能,postman工具测试流程如下图:
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第4张图片
查看数据库,看是否真的存在该条数据,如下图所示:
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第5张图片

修改

在UserMapper接口类中增加自定义的修改用户的接口。

	/**
	 * to update the User instance
	 * @param user
	 */
	Integer updateUser(User user);

在UserMapper.xml中配置修改用户的数据库操作逻辑

    <update id="updateUser" parameterType="com.training.entity.User">
    	update user set name=#{name}, pwd=#{pwd}, dept=#{dept}, website=#{website}, phone=#{phone} where id=#{id}
    update>

业务层UserService中定义修改用户的接口和UserMapper中的保持一致就可以。

	/**
	 * to update the User instance
	 * @param user
	 */
	Integer updateUser(User user);

在UserServiceImpl实现类中实现修改用户的方法

	@Override
	public Integer updateUser(User user) {
		// TODO Auto-generated method stub
		return userMapper.updateUser(user);
	}

控制器类UserController中编写修改用户的Rest映射请求

	@RequestMapping("/update")
	public String updateUser(@RequestBody User user) {
		Integer result = userService.updateUser(user);
		if (null == result || result == 0) {
			return "update failure!";
		}
		return "update successful!";
	}

验证修改用户功能,postman工具测试流程如下图:
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第6张图片

查看数据库,看是否真的修改成功,如下图所示:
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第7张图片

删除

在UserMapper接口类中增加自定义的删除用户的接口

	/**
	 * via the parameter name 'id',then to delete the user instance 
	 * @param id
	 */
	Integer deleteUser(int id);

在UserMapper.xml中配置删除用户的数据库操作逻辑

   <delete id="deleteUser" parameterType="int">
    	delete from user where id=#{id}
   delete>

业务层UserService中定义删除用户的接口和UserMapper中的保持一致就可以了。

	/**
	 * via the parameter name 'id',then to delete the user instance 
	 * @param id
	 */
	Integer deleteUser(int id);

在UserServiceImpl实现类中实现删除用户的方法

	@Override
	public Integer deleteUser(int id) {
		// TODO Auto-generated method stub
		return userMapper.deleteUser(id);
	}

控制器类UserController中编写删除用户的Rest映射请求

	@RequestMapping("/del")
	public String deleteUser(int id) {
		Integer result = userService.deleteUser(id);
		if (null == result || result == 0) {
			return "delete failure!";
		}
		return "delete successful!";
	}

验证删除用户功能,postman工具测试流程如下图:
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第8张图片

查看数据库,看是否删除成功,数据库中没有该用户信息代表删除成功,如下图所示:
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第9张图片

说明

上面的项目示例源码文件,进修者就不提供了,因为大家粘贴复制直接运行也没有意义。框架版本和开发工具也不一定相同,但是处理逻辑是一样的。你们自己实战一遍才是真正的学到了,如果有不懂的,也可以评论区给诉我,我会一一回复的。

小结

通过以上的学习,进修者相信您已经掌握了使用MyBatis-Plus来实现数据库的增删改查操作。其实各种数据库的操作都是相似的,搞明白一个就可以了。其他数据库的学习可以通过找异同点来学习和应用。

还有一点要特别注意:不要过多关注使用的工具是不是最主流的,用的框架版本是不是新的。咱们的牛B要体现在不管用什么工具或框架,都能够调通自己的程序代码和解决实践过程中遇到的任何问题!

感谢您读完了进修者的内容分享,欢迎留言区一起聊聊天,聊聊关于您对“Spring Boot整合MyBatis Plus,实现增删改查操作”有什么更好的想法!

我是进修者,期待与您肩并肩,一起进化成长!

下期预告:Spring Boot整合Redis,实现缓存功能
Spring Boot整合MyBatis Plus,实现增删改查(CRUD)_第10张图片

你可能感兴趣的:(Java进修,#,Spring,Boot,mybatis,spring,boot,java,maven,后端)