
















UserMapper.xml
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.hk.mapper.UserMapper">
<resultMap id="UserMap" type="com.hk.entity.UserInfo">
<result column="id" property="id"/>
<result column="name" property="name"/>
<result column="login_id" property="loginId"/>
<result column="pwd" property="pwd"/>
<result column="version" property="version"/>
<result column="status" property="status"/>
<result column="org_name" property="orgName"/>
</resultMap>
<select id="getUserByName" parameterType="String" resultMap="UserMap">
select u.*,o.name org_name from user u inner join org o on u.org_id=o.id
where u.name=#{name}
</select>
<select id="getUserByLoginId" parameterType="String" resultMap="UserMap">
select u.*,o.name org_name from user u inner join org o on u.org_id=o.id
where u.login_id=${loginId}
</select>
<select id="queryList" resultType="com.hk.entity.UserInfo">
select * from user
${ew.customSqlSegment}
</select>
</mapper>
UserMapper.java
java
package com.hk.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.hk.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface UserMapper extends BaseMapper<UserInfo> {
public List<UserInfo> getUserByName(@Param("name") String name);
public List<UserInfo> getUserByLoginId(@Param("loginId") String loginId);
public IPage<UserInfo> queryList(IPage<UserInfo> page, @Param(Constants.WRAPPER) Wrapper<UserInfo> wrapper);
}
IUserService.java
java
package com.hk.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hk.entity.UserInfo;
import java.util.List;
public interface IUserService extends IService<UserInfo> {
public List<UserInfo> getUserByName(String name);
public List<UserInfo> getUserByLoginId(String loginId);
/**
* 分页查询用户
* @param pageNo 页码
* @param pageSize 每页记录数
* @param queryWrapper
* @return
*/
public IPage<UserInfo> queryList(Integer pageNo, Integer pageSize, QueryWrapper<UserInfo> queryWrapper);
}
UserServiceImpl.java
java
package com.hk.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hk.entity.UserInfo;
import com.hk.mapper.UserMapper;
import com.hk.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
@Service
@Transactional(readOnly=false,rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
public class UserServiceImpl extends ServiceImpl<UserMapper, UserInfo>
implements IUserService
{
@Override
public List<UserInfo> getUserByName(String name) {
return baseMapper.getUserByName(name);
}
@Override
public List<UserInfo> getUserByLoginId(String loginId) {
return baseMapper.getUserByLoginId(loginId);
}
@Override
public IPage<UserInfo> queryList(Integer pageNo, Integer pageSize, QueryWrapper<UserInfo> queryWrapper) {
if(pageNo == null)
pageNo = 1;
if(pageSize == null)
pageSize = 10;
Page<UserInfo> p = new Page<>(pageNo, pageSize);
IPage<UserInfo> pageList = baseMapper.queryList(p,queryWrapper);
return pageList;
}
}
UserTests.java
java
package com.hk.user;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hk.Starter;
import com.hk.entity.UserInfo;
import com.hk.mapper.UserMapper;
import com.hk.service.IUserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,classes = Starter.class)
public class UserTest {
@Autowired
private IUserService userServ;
@Autowired
private UserMapper userMapper;
@Test
public void saveByMapper(){
UserInfo user = new UserInfo() ;
user.setId("100");
user.setName("Java");
user.setLoginId("SpringBoot");
user.setPwd("pwd");
userMapper.insert(user);
}
@Test
public void saveByService(){
UserInfo user = new UserInfo() ;
user.setId("100");
user.setName("Java");
user.setLoginId("SpringBoot");
user.setPwd("pwd");
boolean save = userServ.save(user);
String id = user.getId();
System.out.println("saveByService 结果为:"+ save + "user="+ user);
}
@Test
public void saveBatch(){
List<UserInfo> userList = new ArrayList<>();
for(int i = 0 ; i <20 ; i ++){
UserInfo user = new UserInfo() ;
user.setId(i+"");
user.setName("Java");
user.setLoginId("SpringBoot");
user.setPwd("pwd");
userList.add(user);
}
boolean isSuccess = userServ.saveBatch(userList);
System.out.println("saveBatch 返回结果:"+ isSuccess );
}
@Test
public void delByMapper() {
int count = userMapper.deleteById("14");
System.out.println("delByMapper = "+ count);
}
@Test
public void delBatchByMapper() {
List<String> ids = new ArrayList<>();
ids.add("12");
ids.add("13");
userMapper.deleteBatchIds(ids);
}
@Test
public void delByQueryWrapper() {
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.eq("name","Java");
userMapper.delete(wrapper);
}
@Test
public void delByLambdaQuery() {
userMapper.delete(new QueryWrapper<UserInfo>()
.lambda()
.eq(UserInfo::getName,"Java")
.eq(UserInfo::getLoginId,"SpringBoot")
);
}
@Test
public void updateByService() {
UserInfo user = new UserInfo() ;
user.setId("100");
user.setName("Java");
user.setLoginId("SpringBoot");
user.setPwd("pwd");
boolean b = userServ.updateById(user);
System.out.println("updateByService:" + b);
}
@Test
public void queryByMapper() {
userMapper.selectList(new QueryWrapper<UserInfo>()
.lambda()
.eq(UserInfo::getName,"Java")
.eq(UserInfo::getLoginId,"SpringBoot")
);
}
@Test
public void queryByService() {
userServ.list(new QueryWrapper<UserInfo>()
.lambda()
.eq(UserInfo::getName,"Java")
.eq(UserInfo::getLoginId,"SpringBoot")
);
}
@Test
public void queryByParam1() {
List<UserInfo> lst = userMapper.getUserByName("Java");
for(UserInfo u:lst)
{
System.out.println("#参数 u.name="+u.getName()+",u.orgName="+u.getOrgName());
}
}
@Test
public void queryByParam2() {
List<UserInfo> lst = userMapper.getUserByLoginId("1");
for(UserInfo u:lst)
{
System.out.println("#参数 u.name="+u.getName()+",u.orgName="+u.getOrgName());
}
}
}