多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
~~~ package net.youworker.domain; import net.youworker.repository.CustomerRepository; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import java.util.List; @RunWith(SpringRunner.class) @SpringBootTest public class jpqlTest { @Autowired private CustomerRepository customerRepository; /** * 通过用户名查询 */ @Test public void testFindByName() { Customer customer = customerRepository.findByName("大脚"); System.out.println(customer); } /** * 通过用户名和id查询 */ @Test public void testFindByNameAndId() { Customer customer = customerRepository.findByNameAndId("大脚",3l); System.out.println(customer); } /** * 通过jpql的更新操作 * springDataJpa中使用jpql完成 更新/删除操作 * 需要手动添加事务的支持 * 默认会执行结束之后,回滚事务(前提:数据库表引擎必须支持事务) * * @Rollback 设置是否自动回滚,默认回滚 * false 不自动回滚 * true 自动回滚 */ @Test @Transactional //添加事务的支持 @Rollback(value = false) public void testUpdateCustomer() { customerRepository.updateCustName(3l,"谢大脚"); System.out.println("使用jpql进行更新操作"); } /** * 原生sql语句操作 * */ @Test public void testFindBySQL() { List<Customer> obj = customerRepository.findBySQL(); for (int i = 0; i < obj.size(); i++) { System.out.println(obj.get(i).getCustName()); } } } ~~~