Spring Boot Mybits整合

SpringBoot是Spring框架的扩展,其设计目的是用来简化Spring应用的初始搭建以及开发过程,使得开发变得更快、更高效、更自动化。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程、以及高级映射。MyBatis3提供的注解可以取代XML。例如,使用注解@Select直接编写SQL完成数据查询。

下面将介绍SpringBoot与MyBatis的整合步骤。

1、创建数据表

在MySQL数据库中创建用户信息表(tb_user),并添加数据。

-- 判断数据表是否存在,存在则删除
DROP TABLE IF EXISTS tb_user;
 
-- 创建“用户信息”数据表
CREATE TABLE IF NOT EXISTS tb_user

    user_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '用户编号',
    user_account VARCHAR(50) NOT NULL COMMENT '用户账号',
    user_password VARCHAR(50) NOT NULL COMMENT '用户密码',
    blog_url VARCHAR(50) NOT NULL COMMENT '博客地址',
    blog_remark VARCHAR(50) COMMENT '博客备注'
) COMMENT = '用户信息表';
 
-- 添加数据
INSERT INTO tb_user(user_account,user_password,blog_url,blog_remark) VALUES

添加pom.xml配置信息

在pom.xml配置文件中添加MyBatis、 MySQL的JDBC数据库驱动、Thymeleaf等依赖。

<!-- MyBatis与SpringBoot整合依赖 -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.3</version>
</dependency>
 
<!-- MySQL的JDBC数据库驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.20</version>
</dependency>
 
<!-- 引入Thymeleaf模板引擎 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

项目不使用application.properties文件 而使用更加简洁的application.yml文件:
将原有的resource文件夹下的application.properties文件删除,创建一个新的application.yml配置文件,

使用mybatis generator 自动生成代码:

  • 配置pom.xml中generator 插件所对应的配置文件 ${basedir}/src/main/resources/generator/generatorConfig.xml

 编写程序代码

在com.pjb.service.impl包下,创建UserServiceImpl类(用户信息业务逻辑类)。

package com.pjb.service.impl;
 
import com.pjb.entity.UserInfo;
import com.pjb.mapper.UserMapper;
import com.pjb.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
/**
 * 用户信息业务逻辑类
 * @author pan_junbiao
 **/
@Service
public class UserServiceImpl implements UserService
{
 
    @Autowired
    private UserMapper userMapper;
 
    /**
     * 新增用户,并获取自增主键
     */
    public int insertUser(UserInfo userInfo)
    {
        return userMapper.insertUser(userInfo);
    }
 
    /**
     * 修改用户
     */
    public int updateUser(UserInfo userInfo)
    {
        return userMapper.updateUser(userInfo);
    }
 
    /**
     * 删除用户
     */
    public int deleteUser(int userId)
    {
        return userMapper.deleteUser(userId);
    }
 
    /**
     * 根据用户ID,获取用户信息
     */
    public UserInfo getUserById(int userId)
    {
        return userMapper.getUserById(userId);
    }
}

在com.pjb.controller包中,创建UserController类(用户控制器),实现用户数据的查询、新增、修改、删除,并实现数据的返回。

package com.pjb.controller;
 
import com.pjb.entity.UserInfo;
import com.pjb.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
 
/**
 * 用户控制器
 * @author pan_junbiao
 **/
@Controller
@RequestMapping("/user")
public class UserController
{
    @Autowired
    private UserService userService;
 
    /**
     * 新增用户
     */
    @RequestMapping("/insertUser")
    @ResponseBody
    public boolean insertUser()
    {
        boolean result = false;
 
        //创建新用户
        UserInfo userInfo = new UserInfo();
        userInfo.setUserAccount("pan_junbiao的博客");
        userInfo.setUserPassword("123456");
        userInfo.setBlogUrl("https://blog.csdn.net/pan_junbiao");
        userInfo.setBlogRemark("您好,欢迎访问 pan_junbiao的博客");
        int count = userService.insertUser(userInfo);
 
        //返回结果
        result = count > 0 ? true : false;
        return true;
    }
 
    /**
     * 修改用户
     */
    @RequestMapping("/updateUser")
    @ResponseBody
    public boolean updateUser(int userId)
    {
        boolean result = false;
 
        //创建修改用户
        UserInfo userInfo = new UserInfo();
        userInfo.setUserId(userId);
        userInfo.setUserAccount("pan_junbiao的博客_02");
        userInfo.setUserPassword("123456");
        userInfo.setBlogUrl("https://blog.csdn.net/pan_junbiao");
        userInfo.setBlogRemark("您好,欢迎访问 pan_junbiao的博客");
        int count = userService.updateUser(userInfo);
 
        //返回结果
        result = count > 0 ? true : false;
        return true;
    }
 
    /**
     * 删除用户
     */
    @RequestMapping("/deleteUser")
    @ResponseBody
    public boolean deleteUser(int userId)
    {
        boolean result = false;
 
        //执行删除用户
        int count = userService.deleteUser(userId);
 
        //返回结果
        result = count > 0 ? true : false;
        return true;
    }
 
 
    /**
     * 根据用户ID,获取用户信息
     */
    @RequestMapping("/getUserById")
    public ModelAndView getUserById(int userId)
    {
        UserInfo userInfo = userService.getUserById(userId);
 
        //返回结果
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("userInfo", userInfo);
        modelAndView.setViewName("userInfo.html");
        return modelAndView;
    }
}

最后实现代码运行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值