Spring Boot入门(17):数据访问_整合SpringData JPA

一、整合SpringData JPA

1、JPA基于ORM思想(Objective Relational Mapping):对象关系映射

# 配置数据源
spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql//127.0.0.1/user
    driver-class-name: com.mysql.jdbc.Driver     # 先导入mysql的jar包

# 表示在控制台将sql语句打印出来
  jpa:
    show-sql: true

2、首先编写一个实体类和数据表进行映射,并且配置好映射关系

	//使用JPA注解配置映射关系
	@Entity                 //告诉JPA这是一个实体类和数据表进行映射
	@Table(name = "user")   //和哪个数据表进行映射;如果省略默认表名为类名小写user
	public class User {
	    
	    @Id                 //标注主键
	    @GeneratedValue(strategy = GenerationType.IDENTITY)         //自增主键
	    private Integer id;
	    
	    @Column(name = "name")             //表明和数据表对应的列,指定列名
	    private String name;
	    private String password;
	
	    public Integer getId() {
	        return id;
	    }
	
	    public void setId(Integer id) {
	        this.id = id;
	    }
	
	    public String getName() {
	        return name;
	    }
	
	    public void setName(String name) {
	        this.name = name;
	    }
	
	    public String getPassword() {
	        return password;
	    }
	
	    public void setPassword(String password) {
	        this.password = password;
	    }
	}

3、编写dao接口操作实体类对应的数据表(Repository),两个泛型含义T代表那个实体类传入实体类名,ID extends Serilizable是主键的类型。
(1)CrudRepository<T,ID extends Serilizable>:基本CRUD功能的 接口
(2)PagingAndSortingRepository<T,ID extends Serilizable>:具有分页和排序功能的接口。
(3)JpaRepository<T,ID extends Serilizable>: 上面两个功能加起来

	//继承JpaRepository来完成对数据库的操作
	public interface UserRepository extends JpaRepository<User,Integer> {
	}

数据访问容易出现的问题

1、MySQL没有授权
2、将application.properties里面的data-username/data-password改为``username/password
3、实体类中的字段名和数据库表中的字段名保持一致。

spring:
 datasource:
   username: root
   password: 123456
   url: jdbc:mysql://127.0.0.1:3306/test
   driver-class-name: com.mysql.jdbc.Driver     # 先导入mysql的jar包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coder鹏鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值