CREATEDATABASE`mybatis_plus`/*!40100 DEFAULT CHARACTER SET utf8mb4 */;use`mybatis_plus`;CREATETABLE`user`(`id`bigint(20)NOTNULLCOMMENT'主键ID',`name`varchar(30)DEFAULTNULLCOMMENT'姓名',`age`int(11)DEFAULTNULLCOMMENT'年龄',`email`varchar(50)DEFAULTNULLCOMMENT'邮箱',PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;
注意:
1、驱动类driver-class-name
spring boot 2.0(内置jdbc5驱动),驱动类使用:
driver-class-name: com.mysql.jdbc.Driver
spring boot 2.1及以上(内置jdbc8驱动),驱动类使用:
driver-class-name: com.mysql.cj.jdbc.Driver
否则运行测试用例的时候会有 WARN 信息
2、连接地址url
MySQL5.7版本的url:
jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=false
MySQL8.0版本的url:
jdbc:mysql://localhost:3306/mybatis_plus?
serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
否则运行测试用例报告如下错误:
java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized orrepresents more
@TestpublicvoidtestInsert(){// 实现新增用户信息
User user =newUser(null,"张三",23,"zhangsan@baidu.com");//INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? ) int result = userMapper.insert(user);
System.out.println("受影响行数:"+result);//1475754982694199298
System.out.println("id自动获取:"+user.getId());}
3. 删除
// 通过id删除记录@TestpublicvoidtestDeleteById(){//通过id删除用户信息 //DELETE FROM user WHERE id=? int result = userMapper.deleteById(1475754982694199298L);
System.out.println("受影响行数:"+result);}// 通过id批量删除记录@TestpublicvoidtestDeleteBatchIds(){//通过多个id批量删除 //DELETE FROM user WHERE id IN ( ? , ? , ? )
List<Long> idList = Arrays.asList(1L,2L,3L);int result = userMapper.deleteBatchIds(idList);
System.out.println("受影响行数:"+result);}// 通过map条件删除记录@TestpublicvoidtestDeleteByMap(){//根据map集合中所设置的条件删除记录 //DELETE FROM user WHERE name = ? AND age = ?
Map<String, Object> map =newHashMap<>();
map.put("age",23);
map.put("name","张三");int result = userMapper.deleteByMap(map);
System.out.println("受影响行数:"+result);}
4. 修改
@TestpublicvoidtestUpdateById(){
User user =newUser(4L,"admin",22, null);//UPDATE user SET name=?, age=? WHERE id=? int result = userMapper.updateById(user);
System.out.println("受影响行数:"+result);}
5. 查询
// 根据id查询用户信息@TestpublicvoidtestSelectById(){//根据id查询用户信息 //SELECT id,name,age,email FROM user WHERE id=?
User user = userMapper.selectById(4L);
System.out.println(user);}// 根据多个id查询多个用户信息@TestpublicvoidtestSelectBatchIds(){//根据多个id查询多个用户信息 //SELECT id,name,age,email FROM user WHERE id IN ( ? , ? )
List<Long> idList = Arrays.asList(4L,5L);
List<User> list = userMapper.selectBatchIds(idList);
list.forEach(System.out::println);}// 通过map条件查询用户信息@TestpublicvoidtestSelectByMap(){//通过map条件查询用户信息 //SELECT id,name,age,email FROM user WHERE name = ? AND age = ?
Map<String, Object> map =newHashMap<>();
map.put("age",22);
map.put("name","admin");
List<User> list = userMapper.selectByMap(map);
list.forEach(System.out::println);}// 查询所有数据@TestpublicvoidtestSelectList(){//查询所有用户信息 //SELECT id,name,age,email FROM user
List<User> list = userMapper.selectList(null);
list.forEach(System.out::println);}