@SpringBootTest class SpringbootDemo2MybatisApplicationTests { @Autowired private UserDao userDao; @Test public void testFind(){ List<User> userList = userDao.findAll(); System.out.println(userList); } @Test public void testSelect01(){ List<User> userList = userDao.selectList(null); System.out.println(userList); } /** * 業務: 查詢id=11的用戶信息 主鍵... */ @Test public void testSelect02(){ User user = userDao.selectById(11); System.out.println(user); } /** * 業務: 查詢name屬性爲"小喬"的數據 * sql: select * from user where name="小喬"; * 對象的方式 > sql方式 */ @Test public void testSelect03(){ //條件構造器 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", "小喬"); List<User> userList = userDao.selectList(queryWrapper); System.out.println(userList); } /** * 業務: 查詢name屬性爲"小喬"的數據 而且 age >=18歲 * sql: select * from user where name="小喬" and age>=18; * * 大於 > gt| 小於 < lt | * 大於等於 >= ge | 小於等於 le */ @Test public void testSelect04(){ //條件構造器 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", "小喬") .ge("age", 18); List<User> userList = userDao.selectList(queryWrapper); System.out.println(userList); } /** * 業務: 查詢name中包含 "精"的用戶,而且sex爲女 * 業務: 查詢name中包含 以精結尾的數據,而且sex爲女 * sql: select * from user where name like "%精%" and sex="女"; */ @Test public void testSelect05(){ //條件構造器 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.likeLeft("name", "精") .eq("sex", "女"); List<User> userList = userDao.selectList(queryWrapper); System.out.println(userList); } /** * 需求: 查詢user表中的數據 要求按照年齡降序排列,若是年齡相同按照id降序排列 */ @Test public void testSelect06(){ QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("age","id"); List<User> userList = userDao.selectList(queryWrapper); System.out.println(userList); } /** * 需求: 查詢name屬性爲null的數據. * where name is null */ @Test public void testSelect07(){ QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.isNull("name"); List<User> userList = userDao.selectList(queryWrapper); System.out.println(userList); } /** * 查詢name="小喬" age=17 性別=女的用戶 * 若是傳遞的是對象.會根據對象中不爲null的屬性充當where條件. */ @Test public void testSelect08(){ User user = new User(); user.setName("小喬").setAge(17).setSex("女"); QueryWrapper<User> queryWrapper = new QueryWrapper<>(user); List<User> userList = userDao.selectList(queryWrapper); System.out.println(userList); } /** * 查詢id=1,3,5,10數據. * sql: select * from user where id in (1,3,5,10) */ @Test public void testSelect09(){ //轉化時,注意使用對象的類型 Integer[] ids = {1,3,5,10}; List<Integer> idList = Arrays.asList(ids); List<User> userList = userDao.selectBatchIds(idList); System.out.println(userList); } @Test public void testInsert(){ User user = new User(); user.setName("特朗普").setAge(70).setSex("男"); userDao.insert(user); } /** * 刪除name=null的數據,或者name="特朗普" */ @Test public void testDelete(){ QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.isNull("name") .or() .eq("name", "特朗普"); userDao.delete(queryWrapper); } /** * 案例1: 將id=1的數據的年齡改成8000歲. * sql1: update user set age=8000 where id=1; * 案例2: 要求將name="黑熊精" age=5500. * sql2: update user set age=5500 where name="黑熊精"; */ @Test public void testUpdate(){ User user = new User(); user.setId(1); //主鍵充當where條件 user.setAge(8000); userDao.updateById(user); //參數說明 1.實體對象 封裝set條件的值 // 2.更新條件構造器 User temp = new User(); temp.setAge(5500); UpdateWrapper<User> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("name", "黑熊精"); userDao.update(temp,updateWrapper); } }
2.pojo層實現實現實現實現實現 @Data @TableName //("user") //1.將對象與表 進行一對一關聯 public class User implements Serializable { @TableId(type = IdType.AUTO) //主鍵的信息 設定自增 private Integer Id; //@TableField("name") //若是字段名稱與屬性的名稱一致(包含駝峯規則),能夠省略不寫 private String name; private Integer age; private String sex; }
mapper層層層層層層層層層層層層層層層層層層層層層層層層層層層
public interface UserDao extends BaseMapper<User> {sql
//查詢user表的全部的記錄 @Select("select * from user") List<User> findAll();
}
//mapperscan包名寫在mapper層
@SpringBootApplication
@MapperScan("com.jt.mapper")
public class SpringbootDemo3WebApplication {app
public static void main(String[] args) {
SpringApplication.run(SpringbootDemo3WebApplication.class, args);code
}
}對象