springboot2.x版本+mybatis整合框架练习,(2019)mybaits配置和测试成功截图

1.环境介绍

eclipse。InteIIij idea用户也可参照,简单明了。
springboot 2.1.8
mybatis持久层
mysql数据库

2.新建springboot项目

图片中的依赖分别是
springboot DevTools 热部署依赖
MySQL Driver mysql依赖
mybatis mybatis持久层框架
springweb spring reactive web web访问依赖
在这里插入图片描述

3.建包,采用mvc模式

tgc.edu.zz下面的包就不做解释了,
其中mapper包是装mybatis.xml书写sql语句的

在这里插入图片描述

4.在mapper中新建userEntityMapper.xml文件,将基本sql语句写入, 并且映射好他对应的实体类

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="tgc.edu.zz.dao.UserDao">

	<!-- 查询所有 -->
    <select id="findAll" resultType="tgc.edu.zz.entity.UserEntity">
        select * from user_entity
    </select>
    
    <!--根据id查询-->
    <select id="findById" resultType="tgc.edu.zz.entity.UserEntity" parameterType="java.lang.Integer">
        select * from user_entity where id = #{id}
    </select>
    
	<!--按照姓名模糊查询-->
    <select id="findByName" resultType="tgc.edu.zz.entity.UserEntity" parameterType="java.lang.String">
        select * from user_entity where name like '%${value}%'
    </select>
    
    <!-- 添加 -->
    <insert id="insert" parameterType="tgc.edu.zz.entity.UserEntity">
        insert into user_entity  values(null,#{username},#{password},#{name})
    </insert>

  	<!--修改-->
    <update id="update" parameterType="tgc.edu.zz.entity.UserEntity">
        update user_entity set username= #{username},password=#{password},name=#{name} where id = #{id}
    </update>

      <!--删除-->
    <delete id="delete" parameterType="java.lang.Integer">
        delete from user_entity where id = #{id}
    </delete>
    
</mapper>

5.新建DaoUtils.java接口工具类,将基本的增删改查封装一下

package tgc.edu.zz.custom;
import java.util.List;
public interface DaoUtils<E,ID> {
	//查询所有
	public List<E> findAll();
	//根据id删除
	public void delete(ID id);
	//新增
	public void insert(E e);
	//修改
	public void update (E e);
	//根据id查询
	public E findById(ID id);
	
}

6.新建ServiceUtils.java工具类,将服务层基本的增删改查封装下

package tgc.edu.zz.custom;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;

public class ServiceUtils<E,ID> {

	@Autowired
	private DaoUtils<E, ID> dao;
	   	//查询所有
	  	public List<E> findAll() {
	        return dao.findAll();
	    }
	    //根据id删除
	    public void delete(ID id) {
	    	dao.delete(id);
	    }
	    //新增
	    public void insert(E e) {
	    	dao.insert(e);
	    }
	    //修改
	    public void update(E e) {
	    	dao.update(e);
	    }
        //根据id查询
	    public E findById(ID id) {
	    	return dao.findById(id);
	    }
    
}

7.entity实体类,我就省略了。自己建entity模型实体类

新建UserDao.java接口持久层,只需要继承DaoUtils.java即可,就有了基本的增删改查方法,如图:
在这里插入图片描述

8.新建UserService.java,继承ServiceUtils.java就有基本的增删改查方法,如图:

在这里插入图片描述

9.写控制类controller,直接systemout输出测试

package tgc.edu.zz.controller;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import tgc.edu.zz.entity.UserEntity;
import tgc.edu.zz.service.UserService;

@Controller
@RequestMapping("/main")
public class UserController {

	@Autowired
	private UserService service;

	//根据id为3的查询结果对象
	@RequestMapping("/findById")
	public void findById() {
		UserEntity model = service.findById(3);
		System.out.println("用户名:"+model.getUsername()+",密码:"+model.getPassword()+",姓名"+model.getName());
	}
	//查询所有输出一下显示
	@RequestMapping("/findAll")
	public List<UserEntity> findAll(){
		List<UserEntity> list = service.findAll();
		//for循环遍历list结果集合,输出显示一下是否成功
		for (UserEntity userEntity : list) {
			System.out.println("用户名:"+model.getUsername()+",密码:"+model.getPassword()+",姓名"+model.getName());
		}
		return list;
	}
	
	//删除测试,看数据库id为1的是否删除即可
	@RequestMapping("/delete")
	public void delete() {
		service.delete(1);
	}
	//新增操作,看数据库是否新增一条数据即可
	@RequestMapping("/insert")
	public void insert() {
		UserEntity model = new UserEntity();
		model.setUsername("0012");
		model.setPassword("2323");
		model.setName("李三");
		service.insert(model);
	}
	//看数据库id为3的是否改了即可
	@RequestMapping("/update")
	public void update() {
		UserEntity model = service.findById(3);
		model.setName("李四");
		service.update(model);
	}
	
}

10.一定还记得一点就是application.properties配置文件吧,接下来开始配置,代码如下:

spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update

server.port=80
server.servlet.context-path=/mybatis
spring.jmx.enabled=false

mybatis.mapperLocations=classpath:mapper/*.xml

11.别忘了还有一点,很重要,必须加,就是首先运行程序需要先加载一下持久层包文件

在这里插入图片描述下图为加载持久层包,一个注解一个路径即可。
在这里插入图片描述

12.最终一个简单的springboot+mybatis+mysql项目工程就是这样的。

在这里插入图片描述

13.运行测试

(1)新增测试
在这里插入图片描述
数据库增加一条数据
在这里插入图片描述
(2).修改测试
在这里插入图片描述
数据库成功修改
在这里插入图片描述
(3)查询id为3的数据对象
在这里插入图片描述
控制台输出的结果如下
在这里插入图片描述
(4)查询所有
在这里插入图片描述
控制台结果如下
在这里插入图片描述

(5)最后将id为3的删除
在这里插入图片描述
数据库也成功删除
在这里插入图片描述
一个很简单的mybatis+springboot整合实现的基本增删改查,谢谢大家读博,IT行业可以继续交流,微信:zzaizhangzeng

该博客有私人版权,转载请注明,谢谢!

发布了23 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_42279584/article/details/100698913