Here are instructions on how you can get started with MySQL in Metronic SpringBoot starterkit.
spring.datasource.url=jdbc:mysql://localhost:3306/db-name
spring.datasource.username=your-user-name
spring.datasource.password=your-passowrd
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
</pre
>
Make sure to change db-name with your database name and update your username and password.</li>
<li>Add dependencies below to <strong>starterkit/pom.xml</strong>.
<pre lang="xml">
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
package com.theme.starterkit.models;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long id;
public String first_name;
public String last_name;
}
package com.theme.starterkit.repository;
import com.theme.starterkit.models.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UsersRepository extends JpaRepository<User, Long> {
User findById(long id);
}
Controller example.
package com.theme.starterkit.controller;
import com.theme.starterkit.repository.UsersRepository;
import com.theme.starterkit.models.Users;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import com.theme.starterkit.libs.KTTheme;
import com.theme.starterkit.libs.config.KTThemeBaseConfig;
@Controller
public class UserController {
@Autowired
private KTTheme theme;
@Autowired
private UserRepository userRepository;
@GetMapping("/user/{id}")
public String getUserById(@PathVariable long id, Model model) {
User user = usersRepository.findById(id);
model.addAttribute("user", user);
return theme.getPageView("user", "user-details");
}
}
<div layout:fragment="content">
<h1>User Details</h1>
<div th:if="${user}">
<p>User ID: <span th:text="${user.id}" /></p>
<p>Name: <span th:text="${user.first_name}" /></p>
<p>Email: <span th:text="${user.last_name}" /></p>
</div>
<div th:unless="${user}">
<p>User not found</p>
</div>
</div>