「这是我参与2022首次更文挑战的第20天,活动详情查看:2022首次更文挑战」
增加
保存客户实体:调用save(obj)方法
step1:构造一个对象并设置其属性。
step2:调用继承了JpaRepository接口的Dao层内置save方法。
代码示例:
@Test
public void save() {
Customer c = new Customer();
c.setCustName("李大嘴");
customerDao.save(c);
}
查询
查询id为1的实体:调用findOne()方法
step:直接调用findOne()方法传入需要查询的id,即可根据id查询到数据。
代码示例:
@Test
public void findOne() {
Customer customer = customerDao.findOne(1L);
System.out.println(customer);
}
@Test
public void getOne() {
Customer customer1 = customerDao.getOne(1L);
System.out.println(customer1);
}
findOne()的区别getOne()?
-
getOne()采用懒加载的方式(查询的结果是对象的引用) 查询数据,只有当查询到的对象被使用时才会去真正执行sql查询数据。而findOne() (查询实体的optional对象) 并非如此,而是执行到这条语句时就会立即执行相应sql查询数据。
-
getOne()可以有效的提高系统效率但是可能会有空指针的异常错误的出现,谨慎使用!
查询所有数据:调用findAll()方法
step:直接调用findAll()方法即可返回数据记录。
代码示例:
@Test
public void findAll() {
List<Customer> all = customerDao.findAll();
for (Customer x : all) {
System.out.println(x);
}
}
修改
修改id为1的实体:调用save(obj)方法
step1:根据id查询到要修改的数据。
step2:调用继承了JpaRepository接口的Dao层内置save方法。
代码示例:
@Test
public void update() {
Customer customer = customerDao.findOne(1l);
customer.setCustName("李大嘴2");
customerDao.save(customer);
}
删除
删除id为1的实体:调用delete()方法
step:调用继承了JpaRepository接口的Dao层内置delete方法。
代码示例:
@Test
public void deleteOne() {
Customer customer = customerDao.delete(1l);
}
删除所有实体:调用deleteAll()方法
step:调用继承了JpaRepository接口的Dao层内置deleteAll方法。
@Test
public void deleteAll() {
Customer customer = customerDao.deleteAll();
}
明天继续加油!