JPA的总结说明

1.JPA简介

  1. 什么是JPA?JPA的优点有哪些?
    JPA是ORM框架的一套规范,它只提供接口,实现过程要其他框架进行实现。优点在于学习了JPA的一套规范后,以后只要是参考JPA规范的框架,我们不需要更改内容,只需要更改一下配置就可以使用。
    2.什么是ORM?
    对象关系映射,Object Relational Mapping ,通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象持久化到数据库中。

2.JPA的实现过程

1.导入pom.xml文件,需要导入的包有
junit 4.9
hibernate-entitymanager 5.0.7.Final
hibernate-c3p0 5.0.7.Final
Log4j 1.2.17
mysql-connector-java 5.1.6
2.需要编写persistence.xml文件(必须在META-INF)文件夹中
persistence.xml文件内容
3.创建实体类,并且配置好对应映射。

@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "user_id")
    private long userId;
    @Column(name = "user_name")
    private String userName;
    @Column(name = "user_phone")
    private String userPhone;
    }

4.通过jpa进行CRUD
(1).加载配置文件创建实体管理类工厂对象
Factory = Persistent.create Entity Manager Factory(“myJap”);
(2). 通过实体管理类工厂获取实体管理器
EntityManager em= factory.createEntityManager();
(3).获取事物对象,开启事务
EntityTransaction tx=em.getTransaction();
Tx.begin();
(4).增删改查
(5).提交事务(回滚事务)
Tx.commit();
(6).释放资源
Em.close();

//(1).加载配置文件创建实体管理类工厂对象
Factory = Persistent.create Entity Manager Factory(“myJap”);
//(2). 通过实体管理类工厂获取实体管理器
EntityManager em= factory.createEntityManager();
//(3).获取事物对象,开启事务
EntityTransaction tx=em.getTransaction();
Tx.begin();
//(4).增删改查
//(5).提交事务(回滚事务)
Tx.commit();
//(6).释放资源
Em.close();

5.CRUD的各种方法

(1)添加
em.persist(User);
(2)删除
em.remove(User);
(3)查询
通过各种条件查询,需要先设置需要查询的表的属性,通过属性进行查询
em.merge(User);
根据主键查询
em.find(User.class,2L);
查询全部(使用jpql的方式查询)
String jpql="from User";
Query query=em.createQuery(jpql);
添加参数,可以进行分页查询
query.setFirstResult(0);//查询开始点
query.setMaxResults(5);//查询数量
List list=query.getResultList();
条件查询
String jpql="from User where Id>=3 and mame like ? ";
Query query=em.createQuery(jpql);
query.setParameter(1,"%洲%");//第一个参数是参数的顺序,这里只有一个参数,所以是第一个,值为包含洲的名字
List list=query.getResultList();

对于复杂查询的有关步骤
复杂查询需要使用JPQL语句,这个就是面向实体类的查询语句
(1) 编写jpql语句
(2) 通过实体管理类创建Query,参数为jpql语句
(3) 再query中设置参数(有的就设)
(4) 调用方法进行查询

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值