предисловие
Только лысая голова может стать сильнее.
Текст был включен в мой репозиторий GitHub, добро пожаловать, звезда:GitHub.com/Zhongf UC очень…
Я не знаю, как много вы знаете о SpringBoot и Spring Data JPA.Если вы изучили Spring и Hibernate, то SpringBoot и SpringData JPA можно использовать за считанные минуты. Я не буду рассказывать о преимуществах SpringBoot и SpringData JPA, когда изучалгрубыйЯ сделал заметки, и заинтересованные студенты могут пойти и посмотреть
На самом деле, изучив SpringBoot и SpringData JPA, я написал небольшое демо, но не выложил (лень).а такжеНедавно я собираюсь написать модуль управления (CRUD) для своего дипломного проекта, и я еще не писал о SpringBoot и SpringData JPA.строитьучебник, поэтому эта статья родилась.
1. Создайте среду с нуля
На этот раз я использовалIDEAРедактор для настройки среды SpringBoot и Spring Data JPA
Прежде всего, когда мы создаем новый проект в IDEA, выбираем Spring Initializr, затем далее.
Затем заполните некоторую информацию о проекте (на самом деле эта информация не имеет значения, просто посмотрите сами), а затем нажмите «Далее».
Затем, когда я проверил, я быУдобныйПроверил LomBok (другие не проверяются, в любом случае мы можем настроить его в файле pom позже). Видно, что версия SpringBoot на этот раз2.1.3.
- Примечание: Если вы мало что знаете об одноклассниках ЛомБока, рекомендуется поискать. Этоотлично сработалоПлагин, с ним нам не нужно писать громоздкие методы установки/получения.Запомнить: Для использования ломБок также необходимо установить плагины под IDEA
Затем IDEA поможет нам создать проект SpringBoot под управлением Maven, в это время мы обычно указываем свой собственныйскачатьMaven, перепишите его файл settings.xml
Потом Maven скачивает сопутствующие зависимости и нужные плагины (ждал минут 10, могу в это время чашку Java налить и попить. Ха-ха), после скачивания Maven наш проект становится таким Вот и всё (Примечание: Оригинал - файл application.properties, я изменил суффикс, предпочитаю формат yml):
Во-вторых, улучшите файл pom
Теперь файл pom имеет только зависимости SpringBoot и LomBok.Чтобы завершить функцию CURD, нам нужно использовать веб-модуль Spring, зависимости драйвера Spring Data JPA и MySQL, поэтому мы должны добавить эти зависимости в файл pom:
<!--Web必要的-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--spring data jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- MySQL的java驅動 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
Полный граф зависимостей файла pom выглядит следующим образом:
В-третьих, настройте файл yml
Теперь, когда мы используем SpringData JPA и MySQL, нам нужно его настроить.самый простойИнформация. Например, имя пользователя и пароль базы данных, соответствующей библиотеки и стратегии SpringData JAP.
#服务端容器的配置
server:
port: 8887
#数据库配置
spring:
datasource:
username: 填写自己的
password: 填写自己的
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://填写自己的机器:3306/填写自己的库?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
# JPA配置
jpa:
hibernate:
ddl-auto: update
show-sql: true
# formatSQL得这样写
properties:
hibernate:
format_sql: true
Полная картина файла yml выглядит следующим образом:
Просто заполните информацию в базе данных как свою собственную.
В-четвертых, напишите сущность пользователя
Мой выпускной проект включает в себя управление пользователями.Наш дизайн пользовательской сущности выглядит следующим образом (конечно, у всех может отличаться от моего, я просто пример):
package com.zhongfucheng.example.demo.domain;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
* 存储用户的信息
*
* @author ozc
* @version 1.0
*/
@Entity // jpa的注解,需要加
@Table(name = "table_user") // 指定数据库的表名
@Data // lombok
public class User implements Serializable {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
private String userId;
private String userNickname;
private String userPassword;
private String userEmail;
private Integer actiState;
//激活成功与激活失败常量
public static final int ACTIVATION_SUCCESSFUL = 1;
public static final int ACTIVATION_UNSUCCESSFUL = 0;
private String actiCode;
private Date tokenExptime;
}
Еще одно добавление: поскольку у нас есть аннотация LomBok Data и подключаемый модуль LomBok установлен в IDEA, нам не нужно писать методы set и get.
Диаграмма сущности пользователя выглядит следующим образом:
5. Напишите пользовательский репозиторий
UserRepository — это что-то вроде слоя dao, что эквивалентноUserDao/UserMapper
, только по-другому называется. Например, в Struts2 нравится использовать имя какxxxAction
, в то время как в SpringMVC нравится использовать имя какxxxxController
.
Как правило, если мы наследуем UserRepository от JpaRepository, у нас могут быть соответствующие методы добавления, удаления, изменения и проверки:
import com.zhongfucheng.example.demo.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* UserDao 操作数据库
* @author ozc
* @version 1.0
*/
public interface UserRepository extends JpaRepository<User, String> {
}
Схема UserRepository выглядит следующим образом:
хорошо, наш UserRepository был написан, почему мы передали<User, String>
, нажмите на нее и вы поймете:
Шесть, напишите UserService
Мы просто проверяем все записи в пользовательской таблице, код такой:
// 接口
public interface UserService {
List<User> getAllUser();
}
// 实现
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public List<User> getAllUser() {
return userRepository.findAll();
}
}
Схема UserService выглядит следующим образом:
почему бы не бытьfindAll()
метод? Поскольку наш UserRepository наследует JpaRepository
Семь, напишите UserController
UserController вызывает сервисный метод, чтобы узнать, может ли он вернуть успех.Если он может вернуть успех, это означает, что наша среда в порядке.
Код UserController выглядит следующим образом:
@RestController
public class UserController {
@Autowired
private UserService userService;
/**
* 得到所有用户
*/
@GetMapping(value = "/user", produces = {"application/json;charset=UTF-8"})
public void getAllUser () {
List<User> allUser = userService.getAllUser();
for (User user : allUser) {
System.out.println(user);
}
}
}
Схема кода контроллера выглядит следующим образом:
Восемь, проверьте, можно ли вернуть данные
Войдите в DemoApplication, щелкните правой кнопкой мыши и запустите наш проект SpringBoot:
Введите наш адрес в браузере:http://localhost:8887/user
. Затем мы просматриваем его в фоновом режиме, распечатываем оператор SQL запроса, и таблица печатается в фоновом режиме.имеютзапись о.
Наконец
Мы можем обнаружить, что способ использования SpringBoot + SpringData JPA не требует большой настройки и не требует большого количества кода для поиска данных из базы данных. Нам очень удобно проводить тесты с краткими ответами и небольшие функции. Если у вас есть вопросы по примерам, вы должны быть незнакомы со SpringData JPA. Рекомендуется поискать соответствующие руководства. Я думаю, вы скоро сможете приступить к работе.
рад вывестигалантерейные товарыОбщедоступный номер технологии Java: Java3y. В паблике более 200 статейоригинальныйТехнические статьи, обширные видеоресурсы, красивые карты мозга — идите сюдаобрати внимание наодин раз!
Я думаю, что моя статья хорошо написана, пожалуйста, нажмитеотличный!