SpringBoot整合SpringJPA

SpringBoot整合SpringJPA

引入坐标
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
配置配置文件
1.用 application.properties时
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
#连接的什么类型的数据库
spring.jpa.database=MySQL
#控制台打印SQL
spring.jpa.show-sql=true

spring.jpa.generate-ddl=true
# update查看数据库是否有改变字段,有重新建表,没有就不管
# create 每次都会先删除数据库中的表,再创建
spring.jpa.hibernate.ddl-auto=update
2.用 application.yml时
spring:
  #jpa的配置
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    database: MySQL   #什么数据库
    show-sql: true    #控制台打印SQL
    generate-ddl: true
    hibernate:
      ddl-auto: update # update查看数据库是否有改变字段,有重新建表,没有就不管 create 每次都会先删除数据库中的表,再创建
java代码
serviceImpl

    @Override
    public User findOne(Integer id) {
        Log.get().info("传入的参数 >>>id :{}",id);
        Optional<User> byId = userRepository.findById(id);
        if (byId.isPresent()){
            Log.get().info(">>>>>>>>>>>>>>>>user:{}",byId.get());
        }
        Log.get().info(">>>>>>>>>>>>>>>>user:{}",byId.get());
        return byId.get();
    }

dao中

/**
 * 符合SpringDataJpa的dao层接口规范
 *      JpaRepository<操作的实体类类型,实体类中主键属性的类型>
 *          * 封装了基本CRUD操作
 *      JpaSpecificationExecutor<操作的实体类类型>
 *          * 封装了复杂查询(分页)
 */
@Repository
public interface UserRepository extends JpaRepository<User,Integer>, JpaSpecificationExecutor<User> {
}
domain中的代码重中之重
@Data
@Entity
@Table(name = "user")
public class User implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Integer id;
    @Column(name = "username")
    private String username;
    @Column(name = "password")
    private String password;
    @Column(name = "type")
    private String type;
    @Column(name = "monery")
    private Integer monery;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值