版权声明:程序猴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) 观察跳转之后的效果如下