qq_51145316 2023-03-30 00:32 采纳率: 11.1%
浏览 41

SpringBoot整合MyBatis连接MySql运行不起来

今天想写个SpringBoot整合MyBatis连接MySql的测试方法而已,找了很多资料尚未解决,请hxd帮忙看看问题出在哪里,感谢!

img

img

img

img

  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-30 04:07
    关注
    • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7607600
    • 这篇博客你也可以参考下:springboot+mybatis+mysql 存储单字段为数组格式的解决方案
    • 除此之外, 这篇博客: SpringBoot+MyBatis实现登录和拦截器中的 2、 通过MyBatis连接MySQL数据库进行登录和校验拦截 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • -- 创建数据库
      CREATE DATABASE IF NOT EXISTS zhao DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
      -- 创建一个测试用的数据表
      create table test_user(
        userId int auto_increment primary key,
        userName varchar(200),
        userPass varchar(200)
      )
      

      1、实体类(entity)

      public class TestUser{
          private Integer userId;
          private String userName;
          private String userPass;
          //省略Getter和Setter方法
          }
      

      2、接口(mapper)

      @Mapper
      public interface TestUserMapper{
          TestUser findUserLogin(@Param("userName") String userName, @Param("userPass") String userPass);
      }
      

      3、myBatis配置文件(xml)需要注意的是xml的位置,在resources下,但要与java文件夹下的接口的包名一致

      <?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="com.atgugui.springbootweb.mapper.TestUserMapper">
          <select id="findUserLogin" resultType="com.atgugui.springbootweb.entity.TestUser">
              select userName,userPass from test_user where userName=#{userName} and userPass=#{userPass}
          </select>
      </mapper>
      

      4、 业务层(service)

      public interface TestUserService {
          TestUser findUserLogin(@Param("userName") String userName, @Param("userPass") String userPass);
      }
      

      5、 业务实现层(impl)

      @Service
      public class TestUserServiceImpl implements TestUserService {
      
          @Resource
          TestUserMapper testUserMapper;
      
          @Override
          public TestUser findUserLogin(String userName, String userPass) {
              return testUserMapper.findUserLogin(userName, userPass);
          }
      }
      
      

      6、 逻辑控制层(controller)

      @Controller
      public class LoginController {
      
          @Resource
          TestUserService testUserService;
      
          @RequestMapping("/Users/login")
          public String userLogin(@RequestParam("userName") String userName,
                                  @RequestParam("userPass") String userPass,
                                  Map map, HttpSession session){
      //        if (!StringUtils.isEmpty(userName) && "123456".equals(userPass)){
      //            session.setAttribute("loginUser",userName);
      //            //登录成功,为了防止表单重复提交,可以重定向到指定页面
      //            return "redirect:/home.html";
      //        }else{
      //            map.put("error","用户名或密码错误");
      //            return "login";
      //        }
              TestUser user = testUserService.findUserLogin(userName, userPass);
              if (user != null){
                  session.setAttribute("loginUser",userName);
                  //登录成功,为了防止表单重复提交,可以重定向到指定页面
                  return "redirect:/home.html";
              }else {
                  map.put("error","用户名或密码错误");
                  return "login";
              }
          }
      }
      

      7、 html页面和拦截器与之前的没有连接数据库的一样,不需要做任何改动

      8、项目结构如下
      在这里插入图片描述

      以上就是用户登录的一个简单实例,项目源码https://pan.baidu.com/s/1UxnLp4iDRi02FeALSfhBzg提取码:q795

    评论

报告相同问题?

问题事件

  • 创建了问题 3月30日

悬赏问题

  • ¥15 对法兰连接元件所承受的表面载荷等效转化为法兰开孔接触面上的等效表面载荷?
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 在win系统Django虚拟环境下载mysqlclient报错
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
  • ¥30 python,LLM 文本提炼