Amaze UI Logo

码动指尖



springboot和mybatis的整合使用

有两种方法(首选第二种方法)

第一是文档介绍的方法

细读官方文档即可


第二种为mybatis整合后的方法

这里就描述一下第二种方法。

1.在启动类里加入扫描注解

@MapperScan(value = "com.example.phoneshop.dao")

此处com.example.phone.dao是我的dao包处


2.相对于的接口类的xml文件,放到dao目录,让注解类进行扫描,

每个dao类文件,加上注解@Repository


3.在dao同级目录创建对应的service文件夹,内含有 对应的Service接口类和impl实现类

结构树(可这样,也可以自己定义结构树)

--service

----impl

----接口类文件



4.在maven依赖文件里的bulid里加入以下语句

<resources>

<resource>

<directory>src/main/java/</directory> /*这里的src/main/java/是我的文件路径,可自行更改*/

<includes>

<include>**/*.xml</include>/*读取此路径下所有xml文件*/

</includes>

</resource>

</resources>

在加入之后,若是依旧运行报错,则看一下target的classes文件夹下对应的文件夹内xml文件是否被加入,如果没有被加入

则先reimport maven ,再Rebuild项目一下即可,如果还不行,就重复一两次,还不行就不晓得了


以下给出我的User整个文件的简单代码供参考



UserDao.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.phoneshop.dao.UserDao">
   <select id="findUserByPhone" parameterType="String" resultType="com.example.phoneshop.entity.User">
       select * from ps_user where phone = #{phone} limit 0,1
</select>
   <insert id="insertUser" parameterType="java.util.Map">
       insert into ps_user(username,password,power,phone,email,registertime)values(#{username},#{password},#{power},#{phone},#{email},#{registertime})
</insert>
   <select id="findUserByEmail" parameterType="String" resultType="com.example.phoneshop.entity.User">
       select * from ps_user where email = #{email} limit 0,1
</select>
</mapper>


UserDao


package com.example.phoneshop.dao;

import com.example.phoneshop.entity.User;
import org.springframework.stereotype.Repository;

import java.util.Map;

@Repository
public interface UserDao {
User findUserByPhone(String phone);
   int insertUser(Map map);
   User findUserByEmail(String email);

}


UserService


package com.example.phoneshop.service;

import com.example.phoneshop.entity.User;

import java.util.Map;

public interface UserService {
/**
    * @author nozomi
    * @date 2018/7/7 16:25
    * @description
    */
   User findUserByPhone(String phone);
   int insertUser(Map map);
   User findUserByEmail(String email);
}


UserServiceImpl


package com.example.phoneshop.service.impl;

import com.example.phoneshop.dao.UserDao;
import com.example.phoneshop.entity.User;
import com.example.phoneshop.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Map;

/**
* @author nozomi
* @date 2018/7/7 16:27
* @description
*/
@Service
public class UserServiceImpl implements UserService {
private final UserDao userDao;

   @Autowired
   public UserServiceImpl(UserDao userDao) {
this.userDao = userDao;
   }

@Override
   public User findUserByPhone(String phone) {
return userDao.findUserByPhone(phone);
   }

@Override
   public int insertUser(Map map) {
return userDao.insertUser(map);
   }

@Override
   public User findUserByEmail(String email) {
return userDao.findUserByEmail(email);
   }
}


接下来给出测试类代码

TestController


package com.example.phoneshop.controller;

import com.example.phoneshop.entity.User;
import com.example.phoneshop.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping(value = "test")
public class TestController {
private final UserService userService;

   @Autowired
   public TestController(UserService userService) {
this.userService = userService;
   }


@RequestMapping(value = "test1", method = RequestMethod.GET)
public ModelAndView testUser(User user) {
ModelAndView modelAndView = new ModelAndView("test/test");
       user = userService.findUserByPhone("13739497421");
       modelAndView.addObject("user", user);
       return modelAndView;
   }



}



好了,基本上就是这样了,祝大家好运呦。一定要坚持的学习不懈努力,你终会有收获的时候。5MU[MT7D(]~WT)OO4SV66QU.gif


 Java

作者  :  奕弈

喵喵喵,你在心上



评论


About ME

about me

奕弈

为了最初的心,努力奋斗,从不懈怠的学习。

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

Contact ME