@Configuration
public class DataSourceConfig {
@Bean
public DataSource dataSource() {
DataSource dataSource = new DriverManagerDataSource();
dataSource.setDriveClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/mydb");
dataSource.setUsername("username");
dataSource.setPassword("password");
return dataSource;
}
}
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
}
public interface UserRepository extends JpaRepository<User, Long> {
User findByUsername(String username);
}
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User getUserByUsername(String username) {
return userRepository.findByUsername(username);
}
}
@Controller
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users/{username}")
public String getUserByUsername(@PathVariable String username, Model model) {
User user = userService.getUserByUsername(username);
model.addAttribute("user", user);
return "user";
}
}