JPA学习01
滴水穿石
新建一个 JPA project , version选择2.0
设置JPA的连接方式:
JTA 是默认的连接方式,支持分布式连接,这里使用本地连接即可
配置连接:
这里是对应的
<!-- 配置使用什么ORM产品作为JPA的实现 1.实际上配置的是 javax.persistence.spi.PersistenceProvider 接口的实现类 2.若 JPA 项目中只有一个JPA的实现产品,则也可以不配置该节点 --> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <!-- 连接数据库的基本信息 --> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> <property name="javax.persistence.jdbc.url" value="jdbc:mysql:///jpa" /> <property name="javax.persistence.jdbc.user" value="root" /> <property name="javax.persistence.jdbc.password" value="root" /> <!-- 配置JPA实现产品的基本属性 (这里使用Hibernate) --> <property name="hibenate.format_sql" value="true" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.hbm2ddl.auto" value="update" /> </properties>
在持久化类的时候,要将持久化类添加到配置文件中
<!-- 添加持久化类 --> <class>com.cfb.learn.test.Customer</class>
@Table(name="JPA_CUSTOMER") @Entity public class Customer { private Integer id; private String name; private String email; private Integer age; @GeneratedValue(strategy=GenerationType.AUTO) @Id public Integer getId() { return id; }
这里要注意的是
1.实体类要持久化在配置文件中
2.使用 @Entity 注解必须要指定 @Id, 一般标识注解都在get()方法上
创建Main方法进行测试
public static void main(String[] args) { //1.创建EntityManagerFactory String persistenceUnitName = "Jpa01"; EntityManagerFactory enFactory = Persistence.createEntityManagerFactory(persistenceUnitName); //2.创建EntityManager EntityManager entityManager = enFactory.createEntityManager(); //3.开启事务 EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); //4.进行持久化操作 Customer customer = new Customer(); customer.setAge(18); customer.setEmail("222@cfb.com"); customer.setName("hh"); entityManager.persist(customer); //5.提交事务 transaction.commit(); //6.关闭EntityManager entityManager.close(); //7.关闭EntityManagerFactory enFactory.close(); }
注意这里用到的是
entityManager.persist()方法
—————————————————————————————————————————————————————————————————————————
无论如何,心平气和