💾 Setup SQLite database #3
5 changed files with 69 additions and 8 deletions
|
@ -41,6 +41,7 @@ dependencies {
|
|||
|
||||
testImplementation("org.springframework.boot:spring-boot-starter-test")
|
||||
testImplementation("org.springframework.security:spring-security-test")
|
||||
testImplementation("org.assertj:assertj-core")
|
||||
|
||||
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
||||
}
|
||||
|
|
|
@ -16,10 +16,14 @@ import java.util.Properties;
|
|||
|
||||
@Configuration
|
||||
@RequiredArgsConstructor
|
||||
//@EnableJpaRepositories(basePackages = "de.mlessmann.certassist.repositories")
|
||||
@EnableJpaRepositories(basePackages = "de.mlessmann.certassist.repositories")
|
||||
@PropertySource("classpath:persistence.properties")
|
||||
public class DatabaseConfig {
|
||||
|
||||
private static final String HIBERNATE_DIALECT_PROPERTY = "hibernate.dialect";
|
||||
private static final String HIBERNATE_HBM_2_DDL_AUTO_PROPERTY = "hibernate.hbm2ddl.auto";
|
||||
private static final String HIBERNATE_SHOW_SQL_PROPERTY = "hibernate.show_sql";
|
||||
|
||||
final Environment env;
|
||||
|
||||
@Bean
|
||||
|
@ -36,7 +40,7 @@ public class DatabaseConfig {
|
|||
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
|
||||
final LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
|
||||
entityManagerFactory.setDataSource(dataSource());
|
||||
//entityManagerFactory.setPackagesToScan("de.mlessmann.certassist.models");
|
||||
entityManagerFactory.setPackagesToScan("de.mlessmann.certassist.models");
|
||||
entityManagerFactory.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
|
||||
entityManagerFactory.setJpaProperties(additionalProperties());
|
||||
return entityManagerFactory;
|
||||
|
@ -44,15 +48,16 @@ public class DatabaseConfig {
|
|||
|
||||
final Properties additionalProperties() {
|
||||
final Properties hibernateProperties = new Properties();
|
||||
if (env.getProperty("hibernate.hbm2ddl.auto") != null) {
|
||||
hibernateProperties.setProperty("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
|
||||
if (env.getProperty(HIBERNATE_HBM_2_DDL_AUTO_PROPERTY) != null) {
|
||||
hibernateProperties.setProperty(HIBERNATE_HBM_2_DDL_AUTO_PROPERTY, env.getProperty(HIBERNATE_HBM_2_DDL_AUTO_PROPERTY));
|
||||
}
|
||||
if (env.getProperty("hibernate.dialect") != null) {
|
||||
hibernateProperties.setProperty("hibernate.dialect", env.getProperty("hibernate.dialect"));
|
||||
if (env.getProperty(HIBERNATE_DIALECT_PROPERTY) != null) {
|
||||
hibernateProperties.setProperty(HIBERNATE_DIALECT_PROPERTY, env.getProperty(HIBERNATE_DIALECT_PROPERTY));
|
||||
}
|
||||
if (env.getProperty("hibernate.show_sql") != null) {
|
||||
hibernateProperties.setProperty("hibernate.show_sql", env.getProperty("hibernate.show_sql"));
|
||||
if (env.getProperty(HIBERNATE_SHOW_SQL_PROPERTY) != null) {
|
||||
hibernateProperties.setProperty(HIBERNATE_SHOW_SQL_PROPERTY, env.getProperty(HIBERNATE_SHOW_SQL_PROPERTY));
|
||||
}
|
||||
|
||||
return hibernateProperties;
|
||||
}
|
||||
|
||||
|
|
20
src/main/java/de/mlessmann/certassist/models/User.java
Normal file
20
src/main/java/de/mlessmann/certassist/models/User.java
Normal file
|
@ -0,0 +1,20 @@
|
|||
package de.mlessmann.certassist.models;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
public class User {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||
private Long id;
|
||||
|
||||
@Setter
|
||||
private String username;
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package de.mlessmann.certassist.repositories;
|
||||
|
||||
import de.mlessmann.certassist.models.User;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface UserRepository extends CrudRepository<User, Long> {
|
||||
|
||||
User findUserById(long id);
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package de.mlessmann.certassist.repositories;
|
||||
|
||||
import de.mlessmann.certassist.models.User;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@SpringBootTest
|
||||
class UserRepositoryTest {
|
||||
|
||||
@Autowired
|
||||
private UserRepository userRepository;
|
||||
|
||||
@Test
|
||||
void findUserById() {
|
||||
final User user = new User();
|
||||
user.setUsername("test");
|
||||
userRepository.save(user);
|
||||
|
||||
assertThat(userRepository.findUserById(user.getId()).getUsername()).isEqualTo("test");
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue