java jpa query sql_spring data jpa 使用SQL语句查询

package com.ytkj.entity;

import javax.persistence.*;

import java.io.Serializable;

/**

* @Entity

* 作用:指定当前类是实体类。

* @Table

* 作用:指定实体类和表之间的对应关系。

* 属性:

* name:指定数据库表的名称

* @Id

* 作用:指定当前字段是主键。

* @GeneratedValue

* 作用:指定主键的生成方式。。

* 属性:

* strategy :指定主键生成策略。

* @Column

* 作用:指定实体类属性和数据库表之间的对应关系

* 属性:

* name:指定数据库表的列名称。

* unique:是否唯一

* nullable:是否可以为空

* inserttable:是否可以插入

* updateable:是否可以更新

* columnDefinition: 定义建表时创建此列的DDL

* secondaryTable: 从表名。如果此列不建在主表上(默认建在主表),该属性定义该列所在从表的名字搭建开发环境[重点]

*

* 客户实体类

* 配置映射关系

* 实体类和表映射

* 实体类属性和表字段映射

*/

@Entity

@Table(name = "cst_customer")

public class Customer implements Serializable {

/**

* 声明主键配置

*/

@Id

/**

* 配置主键的生成策略

*/

@GeneratedValue(strategy = GenerationType.IDENTITY)

/**

* 指定实体类属性和数据库表之间的对应关系

*/

@Column(name ="cust_id")

private Long custId;//客户主键

@Column(name = "cust_name")

private String custName;//客户名称

@Column(name ="cust_source" )

private String custSource;//客户来源

@Column(name = "cust_industry")

private String custIndustry;//客户行业

@Column(name ="cust_level")

private String custLevel;//客户级别

@Column(name ="cust_address")

private String custAddress;//客户地址

@Column(name = "cust_phone")

private String custPhone;//客户电话

public Long getCustId() {

return custId;

}

public void setCustId(Long custId) {

this.custId = custId;

}

public String getCustName() {

return custName;

}

public void setCustName(String custName) {

this.custName = custName;

}

public String getCustSource() {

return custSource;

}

public void setCustSource(String custSource) {

this.custSource = custSource;

}

public String getCustIndustry() {

return custIndustry;

}

public void setCustIndustry(String custIndustry) {

this.custIndustry = custIndustry;

}

public String getCustLevel() {

return custLevel;

}

public void setCustLevel(String custLevel) {

this.custLevel = custLevel;

}

public String getCustAddress() {

return custAddress;

}

public void setCustAddress(String custAddress) {

this.custAddress = custAddress;

}

public String getCustPhone() {

return custPhone;

}

public void setCustPhone(String custPhone) {

this.custPhone = custPhone;

}

@Override

public String toString() {

return "Customer{" +

"custId=" + custId +

", custName='" + custName + '\'' +

", custSource='" + custSource + '\'' +

", custIndustry='" + custIndustry + '\'' +

", custLevel='" + custLevel + '\'' +

", custAddress='" + custAddress + '\'' +

", custPhone='" + custPhone + '\'' +

'}';

}

}

package com.ytkj.dao;

import com.ytkj.entity.Customer;

import org.springframework.data.jpa.repository.JpaRepository;

import org.springframework.data.jpa.repository.JpaSpecificationExecutor;

import org.springframework.data.jpa.repository.Modifying;

import org.springframework.data.jpa.repository.Query;

import java.util.List;

/**

* JpaRepository:用来完成基本CRUD操作

* JpaSpecificationExecutor:用于复杂查询(分页等查询操作)

*/

public interface CustomerDao2 extends JpaRepository, JpaSpecificationExecutor {

/**

* 使用sql查询

* nativeQuery = true:使用sql查询

* nativeQuery = false:使用jpql查询,默认就是false

*/

@Query(value = "select * from cst_customer",nativeQuery = true)

List findAll();

/**

* 使用sql条件查询

* 占位符

* 方法参数顺序尽量和占位符位置一样

* nativeQuery = true:使用sql查询

* nativeQuery = false:使用jpql查询,默认就是false

*/

@Query(value = "select * from cst_customer where cust_name=? ",nativeQuery = true)

Customer findByName(String name);

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值