User:IOIOCL

org.springframework.boot spring-boot-starter-jdbc

import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import javax.sql.DataSource;

@Configuration public class DataSourceConfig {

@Primary @Bean @Qualifier("dataSource") public DataSource dataSource(DataSourceProperties dataSourceProperties) { return dataSourceProperties.initializeDataSourceBuilder.build; } }

import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;

@Component @ConfigurationProperties(prefix = "custom.datasource") public class DatabaseProperties { private String url; private String username; private String password; // Getters and setters }

import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param;

public interface UserRepository extends JpaRepository {

@Query("SELECT u FROM User u WHERE u.username = :username") User findByUsername(@Param("username") String username);

@Query("SELECT u FROM User u WHERE u.email = :email") List findByEmail(@Param("email") String email);

@Query("SELECT u FROM User u WHERE u.age > :age") List findByAgeGreaterThan(@Param("age") int age); }

org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 runtime

spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password=password spring.jpa.hibernate.ddl-auto=update

@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String email; // Getters and setters }

public interface UserRepository extends JpaRepository { // You can define custom queries here if needed }

@Service public class UserService { private final UserRepository userRepository;

@Autowired public UserService(UserRepository userRepository) { this.userRepository = userRepository; }

public User saveUser(User user) { return userRepository.save(user); }

public List<User> getAllUsers { return userRepository.findAll; }

custom.datasource.url=jdbc:mysql://localhost:3306/mydb custom.datasource.username=root custom.datasource.password=mypassword

import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource;

@Configuration public class DataSourceConfig {

private final DatabaseProperties databaseProperties;

public DataSourceConfig(DatabaseProperties databaseProperties) { this.databaseProperties = databaseProperties; }

@Bean public DataSource dataSource { return DataSourceBuilder .create .url(databaseProperties.getUrl) .username(databaseProperties.getUsername) .password(databaseProperties.getPassword) .build; } }

import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@Configuration @EntityScan(basePackages = "com.example.domain") @EnableJpaRepositories(basePackages = "com.example.repository", entityManagerFactoryRef = "entityManagerFactory", transactionManagerRef = "transactionManager") public class JpaConfig { }