博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JPA(一):十分钟入门 JPA
阅读量:4104 次
发布时间:2019-05-25

本文共 4714 字,大约阅读时间需要 15 分钟。

一.JPA的概念

为了节省时间,更加具体的解释我们就略过吧。

二.在IDEA中使用JPA

2.1.添加JAP依赖

添加相关的maven依赖

UTF-8
1.7
1.7
5.2.17.Final
2.9.9
junit
junit
4.11
test
mysql
mysql-connector-java
5.1.37
org.hibernate
hibernate-core
4.3.10.Final
org.hibernate
hibernate-entitymanager
4.3.10.Final
org.hibernate.javax.persistence
hibernate-jpa-2.1-api
1.0.0.Final
org.hibernate.common
hibernate-commons-annotations
4.0.5.Final
joda-time
joda-time
${goda.time.version}
org.jadira.usertype
usertype.core
6.0.1.GA
antlr
antlr
2.7.7
dom4j
dom4j
1.6.1
org.jboss
jandex
1.1.0.Final
org.javassist
javassist
3.18.1-GA
org.jboss.logging
jboss-logging
3.1.4.GA
org.jboss.logging
jboss-logging-annotations
1.2.0.Beta1
provided
org.jboss.spec.javax.transaction
jboss-transaction-api_1.1_spec
1.0.0.Final
javax.ejb
ejb-api
3.0

2.2.配置JPA运行环境

        在IDEA中,resources文件夹下,也就是资源文件夹下,创建META-INF文件夹,在该文件夹下创建persistence.xml文件,添加以下配置。

如下:

2.3.创建表

CREATE TABLE `user` (    `id` int(11) NOT NULL AUTO_INCREMENT,    `name` varchar(255) DEFAULT NULL,    `password` varchar(255) DEFAULT NULL,   PRIMARY KEY (`id`)   ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

2.4.在IDEA中配置数据源

在IDEA的右边有Database,按以下步骤操作即可。

这里也可以不配置,配置之后,可以在IDEA中直接看到数据库中的表,并且之后再IDEA中写的代码也不用有警告。

添加你的数据库名字,第一次配置下边会提示你下载插件,很具提示即可。

2.5.测试

创建User类

package com.hly.jpa.model.oneToOne;import javax.persistence.*;/** * @author :hly * @github :github.com/SiriusHly * @blog :blog.csdn.net/Sirius_hly * @date :2018/9/27 */@Entity//指定表名,指定唯一约束@Table(name = "user",uniqueConstraints = {@UniqueConstraint(columnNames = {"id","name"})})public class User {    @Id//指定主键    @GeneratedValue    private int id;    @Column    private String name;    @Column    private String password;    //一对一映射    @OneToOne(optional = true, cascade = CascadeType.ALL)    @JoinColumn(name = "articleId", unique = true)    public Article article;    //省略了getter和setter}
/**     * 获取应用管理的EntityManager     */    @Test    public void testApplicationEntityManager() {        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("MyJPA");        EntityManager em = entityManagerFactory.createEntityManager();        em.getTransaction().begin();        User user = new User();        user.setName("hly");        //以上两行为新建状态        //托管状态        em.persist(user);        //事务提交或调用flush()方法后会同步到数据库        em.getTransaction().commit();        //根据主键获取对象        //System.err.println(em.find(User.class,1));        //System.err.println(em.getReference(User.class,1));        em.close();        entityManagerFactory.close();    }

数据库中插入数据则成功。

2.6.EntityManager接口

2.7.实体类中注解的含义

2.8.代码及地址思维导图

完整代码在笔者的,欢迎访问。

清晰思维导图分享地址为:

你可能感兴趣的文章
设计模式之策略模式
查看>>
深究Java中的RMI底层原理
查看>>
用idea创建一个maven web项目
查看>>
Kafka
查看>>
9.1 为我们的角色划分权限
查看>>
维吉尼亚之加解密及破解
查看>>
DES加解密
查看>>
TCP/IP协议三次握手与四次握手流程解析
查看>>
PHP 扩展开发 : 编写一个hello world !
查看>>
inet_ntoa、 inet_aton、inet_addr
查看>>
用模板写单链表
查看>>
用模板写单链表
查看>>
链表各类操作详解
查看>>
C++实现 简单 单链表
查看>>
数据结构之单链表——C++模板类实现
查看>>
Linux的SOCKET编程 简单演示
查看>>
正则匹配函数
查看>>
Linux并发服务器编程之多线程并发服务器
查看>>
聊聊gcc参数中的-I, -L和-l
查看>>
[C++基础]034_C++模板编程里的主版本模板类、全特化、偏特化(C++ Type Traits)
查看>>