接触新思想,学习新技能
前言 因为最近工作行业发生了变化,已经有一年多不再从事计算机方面的工作。之前自己自学的j后端、前端、数据库开发的一些知识也已经忘了差不多了。因为现在的工作不是很忙,现在准备拾起来。
版本
#JDK17
#SpringBoot 3.2
开发工具:Ecplise
yaml配置
server:
host: 127.0.0.1
spring:
# 数据源配置
datasource:
url: jdbc:mysql://${server.host}:3306/study?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&rewriteBatchedStatements=TRUE
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 'root123456'
User实例(使用的spring-boot-starter-data-jpa模块 id为逐渐且设置位自增,自增策略:uuid2)
SpringBoot集成jpa
package cn.wang.database.entity;
import java.util.Date;
import java.util.Objects;
import org.hibernate.annotations.GenericGenerator;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2",strategy = "uuid2")
private String id;
@Column(name = "username", unique = true, nullable = true)
private String username;
@Column(name = "password", unique = true, nullable = true)
private String password;
@Column(name = "name", unique = false, nullable = true)
private String name;
@Column(name = "create_time", unique = false, nullable = true)
private Date createTime;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password=" + password + ", name=" + name
+ ", createTime=" + createTime + "]";
}
@Override
public int hashCode() {
return Objects.hash(id, name, username);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
return Objects.equals(id, other.id) && Objects.equals(name, other.name)
&& Objects.equals(username, other.username);
}
}
配置UserRepository数据库查询接口继承ListCrudRepository接口
package cn.wang.database.repository;
import java.util.List;
import org.hibernate.annotations.processing.SQL;
import org.springframework.data.repository.ListCrudRepository;
import cn.wang.database.entity.User;
public interface UserRepository extends ListCrudRepository<User, Integer> {
/**
* 根据用户名查询用户信息
* @param Username 用户名
* @return
*/
@SQL("select * from user where username = :username")
List<User> findByUsername(String username);
}