Springboot JPA 执行原生sql ,自定义SQL占位符增加参数
JPA实际上就是Hibernate的封装,根据Interface方法名,生成对应的方法,也支持Query注解的方式。现在说说执行原生SQL。
注解@Query方式执行原生SQL语句:
@Query(value="select user.id from user where user.id =15", nativeQuery = true)
public User queryById(){}
注解的方式需要增加一个“nativeQuery=true”来表示是原生SQL。
EntityManager.Query 方式:
Query query = entityManager.createNativeQuery("select user.id from user where user.id =15");
List list = query.getResultList()
单线程
每个正在运行的程序(即进程),至少包括一个线程,这个线程叫主线程
主线程在程序启动时被创建,用于执行main函数
只有一个主线程的程序,称作单线程程序
主线程负责执行程序的所有代码,这些代码只能顺序执行,无法并发执行
多线程
拥有多个线程的程序,称作多线程程序。
可以允许用户自己开辟新的线程,相对于主线程来讲,这些线程,称为子线程
可以根据需要开辟若干子线程
子线程和主线程都是独立的运行单元,各自的执行互不影响,因此能够并发执行
单线程、多线程的区别
单线程程序:只有一个线程,代码顺序执行,容易出现代码阻塞
多线程程序:有多个线程,线程间独立运行,能有效地避免代码阻塞,并且提高程序的运行性能