码迷,mamicode.com
首页 > 其他好文 > 详细

多条件查询

时间:2020-02-28 18:49:33      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:通过   void   ESS   HERE   数据库   生日   表名   batch   查询   

例:

数据库进行操作 1:sql语句  2:通过Dao接口继承BaseMapper<Xxx>

新增:

User user = new User();
user.setId(null)
.setName("张三")
.setAge(23)
.setSex("男");
int rows = userMapper.insert(user);

if(rows >0) {

System.out.println("用户入库成功!");
}

 

 

/**
* 多条件查询
* name=张三 and age < 20
*/

注意: = eq(等于)        > gt(大于)           < lt (小于)        >=ge(大于等于)         <=le(小于等于)

public void findByMore() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.eq("name", "张三").lt("age", 20);
List<User> userList = userMapper.selectList(queryWrapper);
System.out.println(userList);
}

@Test
public void testInsert() {
User user = new User();
user.setId(null)
.setName("张三")
.setAge(4)
.setSex("男");
int rows = userMapper.insert(user);
if(rows > 0) {
System.out.println("用户入库成功!");
}
}

/**
* 1.根据主键Id查询
*/
@Test
public void findById() {

User user = userMapper.selectById(53);
System.out.println(user);
}
/**
* 2.按照name属性查询 1907班
* QueryWrapper条件构造器:
* 目的:利用对象中不为null的属性充当where条件构建
*/
@Test
public void findByName() {
User user = new User();
user.setName("1907班");
QueryWrapper<User> queryWrapper =
new QueryWrapper<User>(user);
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

/**
* 多条件查询
* name=1907班 and age < 20
* = eq > gt < lt >=ge <=le
*/
@Test
public void findByMore() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.eq("name", "1907班")
.lt("age", 20);
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}


/**
* name=1907班 or age < 20
*/
@Test
public void findByOr() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.eq("name", "1907班")
.or()
.lt("age", 20);
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

//查询年龄 age大于18 age<45 sex="男"
@Test
public void findByBet() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.eq("sex","男")
.between("age", 18, 45);
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

/**
* 模糊查询 名称中包含 乔字
*/
@Test
public void findByLike() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.like("name", "%乔%");
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}

/**
* 查询 名称为null的数据
*/
@Test
public void findByNull() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
queryWrapper.isNull("name");
List<User> userList =
userMapper.selectList(queryWrapper);
System.out.println(userList);
}


/**
* 删除数据
* 1. 删除Id=53 54
*/
@SuppressWarnings("rawtypes")
@Test
public void deleteUsers() {
//1.根据主键删除数据
//userMapper.deleteById(53);
//userMapper.deleteById(54);
Integer[] ids = {53,54};
//2.批量删除
List list = Arrays.asList(ids);
userMapper.deleteBatchIds(list);
}
/**
* 修改操作 要求将55号数据改为 name=1907 age=10 sex="男"
*/
@Test
public void updateUser() {
User user = new User();
user.setId(55)
.setName("1907")
.setAge(10)
.setSex("男");
userMapper.updateById(user);
}

/**
* 修改name为null的元素,name=虞姬 age=18 sex="女"
* entity: 要修改后的数据
* updateWrapper: 修改条件构造器
*/
@Test
public void updateUser2() {
User user = new User();
user.setName("虞姬").setAge(18).setSex("女");
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.isNull("name");
userMapper.update(user, updateWrapper);
}

/**
* 总结:
* 如果已经主键,一般使用updateById.
* 如果获取的是其他属性字段,则使用update
*
* 案例:
* User对象(40个属性) 修改id=10号元素.
* User user = userMapper.selectById(10);
* 需求:修改bir的生日改为今天 date
* user.setBir(new Date);
* userMapper.updateById(user);
* 修改了除id之外的所有字段.
* 实际操作:
* User userTemp = new User();
* userTemp.setBir(new Date());
* userTemp.setId(10);
* userMapper.updateById(userTemp);
* 只修改1个字段
* 原则:
* 如果利用Mybatisplus的操作过于繁琐时.则使用sql语句方式操作更快
*
*/

 

 


@TableName("user")//该注解在实体类上指定映射数据库表名 数据库名与实体类名一样时可以不写
@TableField("name")//注解是指定非字段名映射 字段名不相同时使用
private String name;
@TableField(exist = false)//exist 默认是true 表示该属性是数据库字段  false  表示非数据库字段
 private static String remark;

多条件查询

标签:通过   void   ESS   HERE   数据库   生日   表名   batch   查询   

原文地址:https://www.cnblogs.com/pureray-hui/p/12378379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!