上代碼和配置
第一步:引入包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--mysql數據庫驅動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
第二步:建實體類
@Data //lombok的配置
@Entity
@Table(name="user") //表名
public class User implements java.io.Serializable{
@Id
@Column
private Long id;
@Column
private String login;
@Column
private String password;
@Column
private String role;
@Column
private Date dates;
}
第三步:使用spirng jpa, 建立映射,一個類即可。 核心核心核心核心核心
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository //注意要加這個聲明 掃包時用到
public interface UserRepository extends JpaRepository<User,Integer> {
User findOneByLogin(String s); // 這是加的方法,根據方法名稱規則做對應查詢 JpaRepository 默認包含基本的增刪改查方法
}
第四步:啓動類加對應掃描
@SpringBootApplication
@EntityScan(basePackages={"xxxx"}) //掃實體類的包
@EnableJpaRepositories(basePackages = {"xxx"})//掃jpa服務的包,即上面那個類
@ComponentScan(basePackages = {"xxxx"}) //掃server包
public class SecuritCloud1Application {
public static void main(String[] args) {
SpringApplication.run(SecuritCloud1Application.class, args);
}
}
第五步:把spring配置整上 基於yml ; 自動生成數據庫表,不想自動生成可關掉
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF8&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password:
jpa:
hibernate:
ddl-auto: update
第六步:以下代碼加在任意由spring管理的類中,使用
@Autowired
UserRepository userRepository; //注入
@Override
public UserDetails loadUserByUsername(String name) {
// 1. 查詢用戶
User userFromDatabase = userRepository.findOneByLogin(name);
}