0
点赞
收藏
分享

微信扫一扫

Spring整合MyBatisPlus

基于上一篇调整

Spring整合MyBatis

 

pom添加MyBatis-Plus依赖

注释掉下面依赖,因为mybatis-plus会帮我们维护下面两个依赖

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis.spring.version}</version>
</dependency>

  

添加依赖

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.3.2</version>
</dependency>

 

集成MyBatis-Plus

修改applicationContext.xml,把SqlSessionFactoryBean替换为MybatisSqlSessionFactoryBean

<!--配置MyBatis的sqlSession工厂SqlSessionFactory(Spring框架管理了session,所以也不需要mybatis工具类了)-->
<!--<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">-->
<bean id="sessionFactory2" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<!--指定数据库连接对象dataSource-->
<property name="dataSource" ref="ds"/>
<!--指定Mapper的映射文件位置-->
<property name="mapperLocations" value="classpath:com/qzcsbj/mapper/*.xml"/>
<!--指定实体类的别名-->
<property name="typeAliasesPackage" value="com.qzcsbj.bean"/>
</bean>

 

修改Mapper

继承BaseMapper

package com.qzcsbj.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qzcsbj.bean.User;

import java.util.List;

/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
public interface UserMapper extends BaseMapper<User> {

}

  

修改业务逻辑层

业务逻辑层接口:继承IService

package com.qzcsbj.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qzcsbj.bean.User;

import java.util.List;

/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
public interface UserService extends IService<User> {

}

  

业务逻辑层实现类:继承ServiceImpl

package com.qzcsbj.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qzcsbj.bean.User;
import com.qzcsbj.mapper.UserMapper;
import com.qzcsbj.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
@Service
public class UserServiceImlp extends ServiceImpl<UserMapper,User> implements UserService {
@Autowired
UserMapper userMapper;
}

  

说明:上面继承的类SserviceImpl中,注入了baseMapper,所以service对象可以调用很多方法

Spring整合MyBatisPlus_User

 

测试类

package com.qzcsbj.test;

import com.qzcsbj.bean.User;
import com.qzcsbj.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;


/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
@RunWith(SpringJUnit4ClassRunner.class) // 表示Spring和JUnit整合测试
@ContextConfiguration("classpath:applicationContext.xml")
public class TestSpringMyBatisPlus {
@Autowired
UserService userService;


@Test
public void testGetUserById(){
User user = userService.getById(1);
System.out.println(user);
}
}

 

结果

Spring整合MyBatisPlus_spring_02

 

删除

@Test
public void testDeleteById(){
boolean b = userService.removeById(8);
if (b){
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
}

 

注意:业务逻辑层继承的ServiceImpl的方法和mapper层继承的BaseMapper的方法名不一样,比如删除,业务逻辑层是remove,mapper层是delete

 

结果

Spring整合MyBatisPlus_java_03

 

​​【bak】​​

举报

相关推荐

0 条评论