文章目錄
- 1、資料庫腳本
- 1.1 建立表
- 1.2 添加資料
- 2、建立實體類(使用lombok)
- 3、添加mapper
- 3.1 添加mapper
- 3.2 項目的目錄結構
- 4、測試增删改查
- 5、測試結果
1、資料庫腳本
1.1 建立表
CREATE DATABASE `mybatis_plus` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
use `mybatis_plus`;
CREATE TABLE `user` (
`id` bigint(20) NOT NULL COMMENT '主鍵ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年齡',
`email` varchar(50) DEFAULT NULL COMMENT '郵箱',
PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1.2 添加資料
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, '[email protected]'),
(2, 'Jack', 20, '[email protected]'),
(3, 'Tom', 28, '[email protected]'),
(4, 'Sandy', 21, '[email protected]'),
(5, 'Billie', 24, '[email protected]');
2、建立實體類(使用lombok)
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
3、添加mapper
3.1 添加mapper
友情提示:管理哪個實體就寫哪個實體
@Repository
public interface UserMapper extends BaseMapper<User> {
}
3.2 項目的目錄結構
4、測試增删改查
@SpringBootTest
public class MyBatisPlusTest {
@Autowired
private UserMapper userMapper;
@Test
public void testSelectList() {
List<User> list = userMapper.selectList(null);
list.forEach(System.out::println);
}
// 測試增加
@Test
public void testAdd(){
//實作使用者新增
//INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? )
User user = new User();
user.setName("張三");
user.setAge(23);
user.setEmail("[email protected]");
int rs = userMapper.insert(user);
System.out.println("測試結果:"+rs);
System.out.println(user.getId());
}
@Test
public void testDelete(){
/**
* 1、根據id删除資訊
* DELETE FROM user WHERE id=?
*/
// int rs = userMapper.deleteById(1531552463440584706L);
// System.out.println(rs);
/**
* 2、根據map集合中所設定的條件删除使用者資訊
* DELETE FROM user WHERE name = ? AND age = ?
*/
// HashMap<String, Object> map = new HashMap<>();
// map.put("name","張三");
// map.put("age",23);
// int rs = userMapper.deleteByMap(map);
// System.out.println(rs);
/**
* 通過多個id實作批量删除
* DELETE FROM user WHERE id IN ( ? , ? , ? )
*/
List<Long> list = Arrays.asList(1L,2L,3L);
int rs = userMapper.deleteBatchIds(list);
System.out.println(rs);
}
@Test
public void testUpdate(){
/**
* 修改使用者資訊
* UPDATE user SET name=?, email=? WHERE id=?
*/
User user = new User();
user.setId(4L);
user.setName("李四");
user.setEmail("[email protected]");
int rs = userMapper.updateById(user);
System.out.println(rs);
}
@Test
public void testSelect(){
/**
* 通過id查詢使用者資訊
* SELECT id,name,age,email FROM user WHERE id=?
*/
// User user = userMapper.selectById(4L);
// System.out.println(user);
/**
* 根據id批量查詢使用者資訊
* SELECT id,name,age,email FROM user WHERE id IN ( ? , ? )
*/
// List<Long> list = Arrays.asList(4L,5L);
// List<User> users = userMapper.selectBatchIds(list);
// users.forEach(System.out::println);
/**
* 根據條件查詢使用者資訊
* SELECT id,name,age,email FROM user WHERE name = ? AND age = ?
*/
// Map<String,Object> map = new HashMap<>();
// map.put("name","李四");
// map.put("age",21);
// List<User> users = userMapper.selectByMap(map);
// users.forEach(System.out::println);
//自定義sql語句查詢使用者資訊
Map<String,Object> map = userMapper.selectMapById(1L);
System.out.println(map);
}
}