SpringBoot入门(三)SpringBoot整合MyBatis

版权声明:程序猴jwang版权所有 https://blog.csdn.net/qq_21046965/article/details/87168928

前言

     本章讲解SpringBoot整合MyBatis的相关知识

方法

1.概念

之前我们通过整合SpringMVC已经发现了SpringBoot的强大之处。

那么,它和其他持久层框架的整合也是十分完美的,比如我们之前讲过的MyBatis。

2.使用SpringBoot整合SpringMVC和MyBatis完成登录操作

1)数据库准备

如果之前一直读我博客的人应该清楚,我们需要一张Users表来进行操作,本次使用的是Oracle 11g

2)编写User实体类

package cn.edu.ccut.bo;

public class User {
	private String id;
	private String username;
	private String password;

    public User() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

 3)引入Mybatis启动器和JDBC相关驱动包

4)配置Mapper

package cn.edu.ccut.mapper;

import cn.edu.ccut.bo.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;

/**
 * @Auther:jwang
 * @Date:2019/2/13
 * @Description:cn.edu.ccut.mapper
 * @Version 1.0
 **/
@Component
public interface StudentMapper {

    @Select({"select * from users where username=#{username} and password=#{password}"})
    public User doLogin(@Param("username") String username, @Param("password") String password);
}

5)编写service接口及实现类

package cn.edu.ccut.service;

import cn.edu.ccut.bo.User;

/**
 * @Auther:jwang
 * @Date:2019/2/13
 * @Description:cn.edu.ccut
 * @Version 1.0
 **/
public interface StudentService {

    public User login(String username, String password);
}
package cn.edu.ccut.service.impl;

import cn.edu.ccut.bo.User;
import cn.edu.ccut.mapper.StudentMapper;
import cn.edu.ccut.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * @Auther:jwang
 * @Date:2019/2/13
 * @Description:cn.edu.ccut.service.impl
 * @Version 1.0
 **/
@Service("studentService")
@Transactional
public class StudentServiceImpl implements StudentService {

    @Autowired
    private StudentMapper studentMapper;

    @Override
    public User login(String username, String password) {
        return studentMapper.doLogin(username,password);
    }
}

5)编写controller

package cn.edu.ccut.controller;

import cn.edu.ccut.bo.User;
import cn.edu.ccut.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @Auther:jwang
 * @Date:2019/2/13
 * @Description:cn.edu.ccut.controller
 * @Version 1.0
 **/
@Controller
public class StudentController {

    @Autowired
    private StudentService studentService;

    @RequestMapping("/login")
    public String login(String username, String password){
        User user = studentService.login(username, password);
        if (user != null) {
            return "/success.jsp";
        }
        return "/login.jsp";
    }
}

6)编写相关的页面login.jsp和success.jsp

login.jsp:

<%@page language="java" pageEncoding="UTF-8" %>
<html>
<body>
    <form action="/login" method="post">
        username:<input type="text" name="username"/><br/>
        password:<input type="password" name="password"/><br/>
        <input type="submit" value="login">
    </form>
</body>
</html>

success.jsp:

<%@page language="java" pageEncoding="UTF-8" %>
<html>
<body>
    Login Success!!
</body>
</html>

7)配置数据库连接信息和MyBatis相关配置

修改SpringBoot的全局配置文件application.properties

#数据库连接参数
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl
spring.datasource.username=scott
spring.datasource.password=tiger
#MyBatis别名设置
mybatis.type-aliases-package=cn.edu.ccut.bo

8)编写SpringBoot启动类

package cn.edu.ccut;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("cn.edu.ccut.mapper")
public class MytestApplication {

    public static void main(String[] args) {
        SpringApplication.run(MytestApplication.class, args);
    }

}

3.启动程序验证效果

1)访问localhost:8080/login.jsp,输入正确的用户名和密码

2) 观察跳转之后的效果如下

猜你喜欢

转载自blog.csdn.net/qq_21046965/article/details/87168928