jpa-querydsl-spring-boot-starter
地址:https://github.com/uinio/jpa-querydsl-spring-boot-starter
兼容 spring boot 2.1 ~2.4 (包含2.1和2.4)
支持 querydsl (spring boot 版本开箱即用)
使用
- 添加依赖
<dependency> <groupId>com.github.uinio</groupId> <artifactId>jpa-querydsl-spring-boot-starter</artifactId> <version>2.4.1</version> </dependency>
- 示例
- 实体类
@Entity
public class User implements Serializable {
@Id
private Integer userId;
private String loginName;
private String password;
}
仓库
public interface UserRepository extends JpaRepository<User, Integer> {
}
服务
- 提供单表CURD操作
public interface UserService extends JpaService<User, Integer> {
}
@Service
@Slf4j
public class UserServiceImpl extends JpaServiceImpl<User, Integer> implements UserService {
}
测试
@SpringBootTest
class MainApplicationTests {
@Autowired
private UserService userService;
@Test
void contextLoads() {
User user = new User();
user.setLoginName("test");
user.setpPassword("test");
userService.save(user);
userService.page(1, 2);
userService.findById(1);
//...
}
}
querydsl 开箱即用
配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
mvn compile 生成query类
@SpringBootTest
class MainApplicationTests {
@Autowired
private JPAQueryFactory jpaQueryFactory;
@Test
void contextLoads() {
QUser user = QUser.user;
jpaQueryFactory.update(user).set(user.password,"123")
.where(user.userId.eq(1))execute();
}
}