JPA技术初认识
2016-12-15 09:30
253 查看
JPA技术初认识
初次接触jpa写了一个小项目,下面是整个框架结构,很简单2.在根目录下创建一个“META-INF”文件夹,写配置文件persitence.xml
persitence.xml:
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL"> <!-- 配置用什么ORM框架 1. 实际上配置的是 javax.persistence.spi.PersistenceProvider 接口的实现类 2. 如果JPA项目中只有一个JPA的实现产品,则可以不配置该节点 --> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>cn.lamb.jpa.User</class> <properties> <!-- 配置数据源信息 --> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://127.0.0.1:3306/jpa?charsetEncoding=utf8"/> <property name="javax.persistence.jdbc.user" value="root"/> <property name="javax.persistence.jdbc.password" value="ROOT"/> <!-- 配置JPA实现产品的属性,即hibernate的属性 --> <property name="hibernate.format_sql" value="true"/><!-- 是否格式化sql语句 --> <property name="hibernate.show_sql" value="true"/> <!-- 是否在控制台打印sql语句 --> <property name="hibernate.hbm2ddl.auto" value="update"/> </properties> </persistence-unit> </persistence>
3.编写实体类
user.java
package cn.lamb.jpa; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Table(name="USER") @Entity public class User { private Integer id; private String name; private String email; @Column(name="ID") @GeneratedValue(strategy=GenerationType.AUTO) @Id public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(name="NAME") public String getName() { return name; } public void setName(String name) { this.name = name; } @Column(name="EMAIL") public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
4.在数据库里创建一个数据库“jpa”,不用创建表
5.写一个测试类
package cn.lamb.jpa; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Persistence; public class TEST { public static void main(String[] args) { //1. 创建EntityManagerFactory String persistenceUnitName = "jpa"; EntityManagerFactory factory = Persistence.createEntityManagerFactory(persistenceUnitName); //2. 创建EntityManager EntityManager entityManager = factory.createEntityManager(); //3.开启事务 EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); //4. 持久化操作 User user = new User(); user.setName("tom2"); user.setEmail("lamb@qq.com"); //添加user到数据库,相当于hibernate的save(); entityManager.persist(user); //5. 提交事务 transaction.commit(); //6. 关闭EntityManager entityManager.close(); //7. 关闭EntityManagerFactory factory.close(); } }
执行下测试类,看看吧!
相关文章推荐
- 技术圈认识
- windows 7技术:正确认识库、搜索和索引
- 认识病毒的映象劫持技术
- 十年MFC经历认识的Microsoft技术[收藏]
- 认识NFC技术
- 十年MFC经历认识的Microsoft技术
- 从技术走向管理(一):认识项目经理
- 十年MFC经历认识的Microsoft技术
- 十年MFC经历认识的Microsoft技术[转]
- Ajax技术的初步认识一(转)
- 认识队列技术中的硬件队列和软件队列及如何改变硬件队列长度 推荐
- 基于Spring MVC+Spring JPA技术使用Spring全注解实战开发大型商业ERP项目
- 认识swing技术
- 做个记录,一些认识大神的技术博客
- 十年MFC经历认识的Microsoft技术
- 每个人对于技术的不同认识?.....
- [.net 面向对象程序设计进阶] (14) 缓存(Cache) (一) 认识缓存技术
- 从技术走向管理认识 1
- 秋色园QBlog技术原理解析:开篇:整体认识(一)
- EasyJWeb+JPA(Hibernate3.2)+Spring2构架缓存技术