SpringBoot整合mybatis练习

一、添加依赖

		<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

二、添加配置

#整合mybatis
mybatis:
  #设置别名的包
  type-aliases-package: com.example.pojo
  #设置mapper的地址
  mapper-locations: classpath:mapper/*.xml

三、创建实体类

package com.example.pojo;

import lombok.Getter;
import lombok.Setter;

/**
*
*@author 桃味果仁
*/
@Getter
@Setter
public class User {
    
    

    private int id;
    private String userName;
    private String sex;

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

四、编写mapper.xml

<?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.example.mapper.UserMapper">

    <resultMap id="UserResult" type="User">
        <id property="id" column="id" />
        <result property="userName" column="username"/>
        <result property="sex" column="sex"/>
    </resultMap>
    <sql id="selectUserVo">
        select id, username, sex from user
    </sql>

    <select id="selectUserList" parameterType="User" resultMap="UserResult">
        <include refid="selectUserVo" />
    </select>

    <select id="selectUserById" resultMap="UserResult">
        select * from user where id = #{id}
    </select>

    <insert id="addUser" parameterType="User" >
        insert into user (username, sex) values (#{userName}, #{sex})
    </insert>

    <update id="updateUser" parameterType="User">
        update user set username=#{userName}, sex=#{sex}
    </update>

    <update id="deleteUserById" parameterType="int">
        delete from user where id=#{id}
    </update>
</mapper>

五、编写mapper接口

package com.example.mapper;

import com.example.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 桃味果仁
 */
@Mapper
@Repository
public interface UserMapper {
    
    
    /**
     * 查找用户列表
     * @param user
     * @return
     */
    public List<User> selectUserList(User user);

    /**
     * 通过id查找用户
     * @param id
     * @return
     */
    public User selectUserById(int id);

    /**
     * 添加用户
     * @param user
     * @return
     */
    public int addUser(User user);

    /**
     * 更新用户
     * @param user
     * @return
     */
    public int updateUser(User user);

    /**
     * 删除用户
     * @param id
     * @return
     */
    public int deleteUserById(int id);
}

六、编写service层接口

package com.example.server;

import com.example.pojo.User;

import java.util.List;

/**
 * @author 桃味果仁
 */
public interface IUserServer {
    
    

    /**
     * 查找用户列表
     * @param user
     * @return
     */
    public List<User> selectUserList(User user);

    /**
     * 通过id查找用户
     * @param id
     * @return
     */
    public User selectUserById(int id);

    /**
     * 添加用户
     * @param user
     * @return
     */
    public int addUser(User user);

    /**
     * 更新用户
     * @param user
     * @return
     */
    public int updateUser(User user);

    /**
     * 删除用户
     * @param id
     * @return
     */
    public int deleteUserById(int id);
}

七、实现service接口

package com.example.server.impl;

import com.example.mapper.UserMapper;
import com.example.pojo.User;
import com.example.server.IUserServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author 桃味果仁
 */
@Service
public class UserServer implements IUserServer {
    
    

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> selectUserList(User user) {
    
    
        return userMapper.selectUserList(user);
    }

    @Override
    public User selectUserById(int id) {
    
    
        return userMapper.selectUserById(id);
    }

    @Override
    public int addUser(User user) {
    
    
        return userMapper.addUser(user);
    }

    @Override
    public int updateUser(User user) {
    
    
        return userMapper.updateUser(user);
    }

    @Override
    public int deleteUserById(int id) {
    
    
        return userMapper.deleteUserById(id);
    }
}

八、编写接口

package com.example.controller;

import com.example.pojo.User;
import com.example.server.IUserServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * @author 桃味果仁
 */
@Controller
public class UserController {
    
    

    @Autowired
    private IUserServer userServer;

    @GetMapping("/users")
    @ResponseBody
    public List<User> userList(User user){
    
    
        List<User> users = userServer.selectUserList(user);
        return users;
    }

    @GetMapping("/user/{id}")
    @ResponseBody
    public User userId(@PathVariable("id") int id){
    
    
        User user = userServer.selectUserById(id);
        return user;
    }
}

Guess you like

Origin blog.csdn.net/weixin_43742217/article/details/121275486