jpql简单l查询
JPQL全称Java Persistence Query Language
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.test; import com.ytk.utils.JpaUtils;
import org.junit.Test; import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
import java.util.List; /**
* jpql测试
*/
public class JpqlTest {
/**
* 查询全部
*/
@Test
public void findAll(){
EntityManager entityManager = JpaUtils.getEntityManager();
//开启事务
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库
String jpql="from Customer";
Query query = entityManager.createQuery(jpql); //查询
List list = query.getResultList();
for (Object o : list) {
System.out.println(o);
} //5.提交事务
transaction.commit();
//6.释放资源
entityManager.close();
} /**
* 排序查询
*/
@Test
public void findAllOrderBy(){
EntityManager entityManager = JpaUtils.getEntityManager();
//开启事务
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库
String jpql="from Customer order by custId desc";
Query query = entityManager.createQuery(jpql); //查询
List list = query.getResultList();
for (Object o : list) {
System.out.println(o);
} //5.提交事务
transaction.commit();
//6.释放资源
entityManager.close();
} /**
* 查询总数
*/
@Test
public void getCount(){
EntityManager entityManager = JpaUtils.getEntityManager();
//开启事务
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库
String jpql="select count(custId) from Customer ";
Query query = entityManager.createQuery(jpql);
//查询
Object result = query.getSingleResult();
System.out.println(result);
//5.提交事务
transaction.commit();
//6.释放资源
entityManager.close();
} /**
* 分页查询
*/
@Test
public void getByPage(){
EntityManager entityManager = JpaUtils.getEntityManager();
//开启事务
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库
int pageNum=0;
int pageSize=2;
String jpql=" from Customer";
Query query = entityManager.createQuery(jpql);
//对分页参数赋值
query.setFirstResult(pageNum);
query.setMaxResults(pageSize);
//查询
List list = query.getResultList();
for (Object o : list) {
System.out.println(o);
}
//5.提交事务
transaction.commit();
//6.释放资源
entityManager.close();
} /**
* 条件查询
*/
@Test
public void getByCondition(){
EntityManager entityManager = JpaUtils.getEntityManager();
//开启事务
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin(); //创建query对象 操作实体类而不是直接取操作数据库
String jpql=" from Customer where custName like ?";
Query query = entityManager.createQuery(jpql);
//对占位符参数赋值
query.setParameter(1,"zhe%");
//查询
List list = query.getResultList();
for (Object o : list) {
System.out.println(o);
}
//5.提交事务
transaction.commit();
//6.释放资源
entityManager.close();
} }
jpql简单l查询的更多相关文章
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...
- SpringData JPA进阶查询—JPQL/原生SQL查询、分页处理、部分字段映射查询
上一篇介绍了入门基础篇SpringDataJPA访问数据库.本篇介绍SpringDataJPA进一步的定制化查询,使用JPQL或者SQL进行查询.部分字段映射.分页等.本文尽量以简单的建模与代码进行展 ...
- ASP.NET MVC 学习4、Controller中添加SearchIndex页面,实现简单的查询功能
参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-method ...
- mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】
1.mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都 ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)
这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)
梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...
- sql最简单的查询语句
-- 2 **************************************************** -- 最简单的查询语句 -- 2.1 ----------------------- ...
- T-SQL 简单子查询
1.使用变量的方式实现的查询 use StudentManageDB go declare @StuId int --查询张永利学号 select @StuId=StudentId from Stud ...
- MySql 简单统计查询消耗时间脚本
MySql 简单统计查询消耗时间脚本 by:授客 QQ:1033553122 drop procedure if exists selectTime; delimiter; create proced ...
随机推荐
- python 装饰器 第二步:扩展函数的功能(不修改原函数)
# 第二步:扩展函数的功能(不能修改原函数) # 用于扩展基本函数的函数 # 把一个函数(eat函数)作为一个整体传给另外一个函数(kuozhan函数) # 这个函数(kuozhan函数)用形参fun ...
- UVA1442_Cave
Cave 大致题意: 一个洞穴,已经i位置地面高度和顶的高度,要求在这个洞穴里面储蓄尽可能多的燃料,而且任何位置燃料不能碰到顶点 思路: 先从左往右扫描一下得出每一个点燃料能达到的最大高度,然后右边一 ...
- 监控工具 zxbbix
报错 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server throug ...
- jq实现两个input输入同时不为空时,改变确认框背景颜色
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- springCloud的使用02-----服务消费者(rest+ribbon)
1 将服务提供者做成集群模式 配置service-hi的端口为8762进行启动,配置service-hi的端口为8763进行启动, service-hi会在ecureka server上注册两个ser ...
- K8S入门系列之必备扩展组件--> coredns(四)
摘要: 集群其他组件全部完成后我们应当部署集群 DNS 使 service 等能够正常解析,1.11版本coredns已经取代kube-dns成为集群默认dns. https://github.com ...
- IIS 部署网站本地可访问,外网无法访问
1,检查防火墙入站规则,查看本地端口状态 cmd 命令:netstat -na 2:远程连接测试 cmd 命令:telnet IP Port ,如:telnet 127.0.0.1 135 ,连接成功 ...
- .Net Core应用RabbitMQ,及简单封装
首先,还是万分感谢大家能够抽空来阅读我的文章,万分感谢.今天我带来的是.Net Core中应用RabbitMQ,和简单封装.因为昨天的文章里说了今天要写,所以今天一定要写出来.小编翻阅了很多资料,想要 ...
- python-opencv实现简单的车牌定位
车牌定位的原理:https://blog.csdn.net/relocy/article/details/78705662 训练好的分类器:https://github.com/zeusees/Hyp ...
- shell位置参数处理举例