初學SpringBoot之集成Mybatis

一、前言

    這是我學習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吧。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章