一、前言
這是我學習SpringBoot記錄的四篇文章,本片文章記錄的是SpringBoot怎樣集成Mybatis。(之前電腦的硬盤壞了,耽擱了一段時間,現在繼續來學習SpringBoot)
二、開始啦
2.1首先我們的第一步就是引入mybatis所需要的jar包啦!
在上一篇的基礎上,pom文件中增加如下幾個jar包,我用的是mysql數據庫,所以來要引入mysql的工具。
<!-- mybatis-starter:mybatis + mybatis-spring + tomcat-jdbc(default) -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot-starter.version}</version>
</dependency>
<!-- MySQL工具 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
</dependency>
<!--數據庫連接的jdbc依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
2.2寫一個html文件和對應的js文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form id="loginform">
姓名:<input type="text" id="username" name="username"><br/>
密碼:<input type="text" id="password" name="password"><br/>
<button type="button" id="loginbutton">登陸</button>
</form>
<script type="text/javascript" src="../static/jquery.min.js"></script>
<script type="text/javascript" src="../static/login.js"></script>
</body>
</html>
$(function(){
$("#loginbutton").click(function(){
var username=$("#username").val();
var password=$("#password").val();
$.ajax({
url:"login",
type:"get",
data:{
username:username,
password:password,
},
dataType:"json",
success:function(data){
if(data.result){
alert("登陸成功");
}
},
error:function(err){
console.log(err);
}
})
});
})
2.3寫Controller、service、mapper、bean
完成後的項目結構如下:
附上對應的代碼:
controller:爲了方便,直接封裝了一個user對象傳就過去。
@Controller
public class TestController {
@Resource
private IUserService iUserService;
@RequestMapping("/test")
@ResponseBody
public String test(){
return "Hello World !!!";
}
@RequestMapping("/tohello")
public String tohello(){
return "hello.html";
}
@RequestMapping("/tologin")
public String tologin(){
return "login";
}
@RequestMapping("/login")
@ResponseBody
public String login(String username, String password){
User loginuser=new User();
loginuser.setUsername(username);
loginuser.setPassword(password);
iUserService.login(loginuser);
return "{\"result\":true}";
}
}
service:接口和他的實現類
public interface IUserService {
public void login(User user);
}
@Service
public class UserService implements IUserService {
@Resource
public UserMapper userMapper;
@Override
public void login(User user) {
System.out.println("service -> login");
User loginuser= userMapper.login(user);
System.out.println("login _________________"+loginuser.getUsername()+loginuser.getSex()+loginuser.getAge()+loginuser.getPhone()+loginuser.getPassword());
}
}
mapper:接口和對應的xml文件
@Mapper
public interface UserMapper {
public User login(User user);
}
<?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.xuexue.firstproject.Daos.UserMapper">
<sql id="Base_Column_List">
t.id,
t.username,
t.age,
t.sex,
t.phone,
t.password
</sql>
<select id="login" parameterType="com.xuexue.firstproject.Beans.User" resultType="com.xuexue.firstproject.Beans.User">
select <include refid="Base_Column_List"/>
from userinfo t
where username=#{username} and password=#{password}
</select>
</mapper>
bean:
public class User {
private Integer id;
private String username;
private String age;
private String sex;
private String phone;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
這樣寫出來就是一個簡單的例子啦,僅僅是爲了寫一個有前後臺交互例子,登陸功能這樣寫是不標準的,還請大家諒解。
2.4測試
訪問:http://localhost:8080/tologin
輸入賬號和密碼,前臺彈框提示登陸成功,控制檯看到打印的返回回來的登陸人信息,這樣就可以啦。
ps:mybatis還有個兄弟mybatis-plus,下一篇就集成一下mybatis-plus吧。