Spring+SpringMVC+Mybatis整合Mybatis plus(SSM整合MP)

SSM框架开发,Dao层还是需要写很多SQL,但是配合使用Mybatis plus,会减少很多SQL的书写,加快项目开发速度,稳定性和性能都有提升。以下是SSM整合MP的步骤:

1.依赖不同

        
		
			org.mybatis
			mybatis
			3.4.1
		
 
		
		
			org.mybatis
			mybatis-spring
			1.3.0
		

将以上依赖改为MyBatis plus的依赖:

        
        
			com.baomidou
			mybatis-plus
			2.3
		

2.SqlSeesion中的bean不同

MP中的class:

    

MyBatis中的class:

    

3.实体类相关

@TableName(value = "usertable")//如果表名不一致,则必须使用该注解

package com.ssm.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
@TableName(value = "usertable")
public class Users {
    //使用TableId注解主键,如果数据库与实体类属性名一致,可以省略不写
    @TableId(value = "uid",type = IdType.AUTO)
    private Long uid;
    private String uno;
    private String uname;
    private String password;
    private String sex;
    private Integer age;
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date birthday;
    private String phone;
    private String address;
    private Long type;
    private String uhead;

    //添加额外的字段,所以要告知MyBatis Plus数据库没有该字段
    //@TableField(exist = false)

    //getter、setter、constructor、toString()
}

4.Dao层Mapper接口必须继承BaseMapper

package com.ssm.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ssm.bean.Users;

public interface UserMapper extends BaseMapper {
}

5.测试

创建Service接口:

package com.ssm.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ssm.bean.Users;

import java.util.List;

public interface UserService {
    List getAllUsers(QueryWrapper wrapper);
}

创建ServiceImpl:

package com.ssm.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ssm.bean.Users;
import com.ssm.mapper.UserMapper;
import com.ssm.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
    UserMapper userMapper;
    //调用Dao层方法
    @Override
    public List getAllUsers(QueryWrapper wrapper) {
        //selectList()方法是MP自带方法
        return userMapper.selectList(wrapper);
    }
}

测试类:

import com.ssm.bean.Users;
import com.ssm.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.SpringRunner;

import java.util.List;

//Spriong的测试环境
@RunWith(SpringRunner.class)
@ContextConfiguration("classpath:applicationContext-MP.xml")
public class TestSSM {

    @Autowired
    UserService userService;
    @Test
    public void test1(){
        //从数据库查询所有用户
        List allUsers = userService.getAllUsers(null);
        for (Users user : allUsers) {
            System.out.println(user);
        }
    }

}

测试结果截图:

Spring+SpringMVC+Mybatis整合Mybatis plus(SSM整合MP)_第1张图片

你可能感兴趣的:(Java笔记)