1. 程式人生 > >spring boot整合mybatis--xml配置

spring boot整合mybatis--xml配置

spring boot整合mybatis–xml配置

在這裡插入圖片描述

1.配置application.yml連線資料庫,mapper-locations 指明mapper.xml對映檔案的包,type-aliases-package掃描的包名

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    password: 115600LX
    username: root
    url: jdbc:mysql://localhost:3306/test
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.lixin.entity

2.建立實體類User

package com.lixin.entity;

import java.io.Serializable;

public class User implements Serializable {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int 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.配置UserMapper.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.lixin.mapper.UserMapper">
    <!-- 用過ID查詢一個使用者 -->
    <select id="findUserById" parameterType="Integer" resultType="com.lixin.entity.User" >
          select * from user where id=#{v}
    </select>

    <!-- 查詢所有使用者 -->
    <select id="findAllUser" resultType="User">
          select * from user
    </select>

    <!-- 新增使用者 -->
    <insert id="addUser" parameterType="User">
         insert into user(id,username,password) values(#{id},#{username},#{password})
    </insert>

    <!-- 更新使用者 -->
    <update id="updateUser" parameterType="User">
          update  user set username=#{username},password=#{password} where id=#{id}
    </update>

    <!-- 刪除使用者 -->
    <delete id="deleteUser" parameterType="Integer">
           delete from user where id=#{v}
    </delete>

</mapper>

4.建立UserMapper介面類

方法名與xml中配置的id名一致

package com.lixin.mapper;

import com.lixin.entity.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
@Mapper
public interface UserMapper {
    public User findUserById(Integer id);

    public List<User> findAllUser();

    public void addUser(User user);

    public void updateUser(User user);

    public void deleteUser(int id);
}

5.UserService介面

package com.lixin.service;

import com.lixin.entity.User;

import java.util.List;

public interface UserService {

    public  User  findById(int id);


    public List<User>findAllUser();

    public void addUser(User user);

    public void updateUser(User user);

    public void deleteUser(int id);
}

6.UserServiceImpl實現類

package com.lixin.service.impl;

import com.lixin.entity.User;
import com.lixin.mapper.UserMapper;
import com.lixin.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService  {

    @Autowired
    private UserMapper userMapper ;


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

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

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

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

    @Override
    public void deleteUser(int id) {
          userMapper.deleteUser(id);
    }
}

7.application主函式

package com.lixin;

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

@SpringBootApplication
@MapperScan("com.lixin.mapper")
public class Spring00Application {

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

8.UserController控制類

package com.lixin.controller;

import com.lixin.entity.User;
import com.lixin.mapper.UserMapper;
import com.lixin.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

@RestController
public class UserController {
    @Autowired
    private UserService userService ;

    @RequestMapping("/findById")
    public User findById(){
        return userService .findById(1);
    }


    @RequestMapping ("/findAllUser")
    public List <User > findAllUser(){
        return userService .findAllUser() ;
    }

    @RequestMapping ("/addUser")
    public String  addUser(){
        User user =new User() ;
        user.setId(3);
        user.setPassword("111111");
        user.setUsername("小李");
        userService .addUser(user) ;
        return "新增成功";
    }

    @RequestMapping("/updateUser")
    public String updateUser(){
        User user =new User() ;
        user.setId(1);
        user.setPassword("111111");
        user.setUsername("小李");
        userService .updateUser(user);
        return "更新成功";
    }

    @RequestMapping("/deleteUser")
    public String  deleteUser(){
        userService.deleteUser(2);
        return "刪除成功";
    }
}