IntellJ 13.x JPA Persistence Sample
跟上一篇差不多,一些基本的东西。
这次是JPA + Spring MVC 3.0
1.建立Project

2.Add JPA Support

3.我们以Hibernate为例,设置JPA的Provider为Hibernate

4.添加persistence.xml,这里标准的位置应该是src/main/resources/META-INF,所以我们要建立resource和META-INF的文件夹

5.回到project structure->modules->JPA,给JPA添加我们刚刚建立的persistence.xml文件

6.修改POM.XML添加两个jar,一个是hibernate-entitymanager,一个是mysql connector

7.修改一下我们的persistence.xml,(这里你也可以先不添加persistence.xml,只是把META-INF建好,然后从第5步那生成也可以)
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="personDB">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="9ijn)OKM"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
</properties>
</persistence-unit>
</persistence>
7.View->Tools windows->DataBase建立一个DataSource

8.View->Tools Windows->Persistence->Generate Persistence Mapping->By Database Schema

选定位置

9.这时候我们已经有了生成出来的Entity

10. 注意这个时候你如果Console->来做hql查询的时候,他会显示错误,这个现在你可以不用理会,等build之后自己就好了

11.这个时候检查一下persistence.xml文件,主要看一下,class是不是已经加到xml里面,完整的persistence.xml应该是这样
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="personDB">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.springapp.modlels.OfficeEntity</class>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="9ijn)OKM"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
</properties>
</persistence-unit>
</persistence>
12.加一个add.jsp,在修改一下controller
package com.springapp.mvc; import com.springapp.modlels.OfficeEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence; @Controller
@RequestMapping("/")
public class HelloController {
@RequestMapping(method = RequestMethod.GET)
public String printWelcome(ModelMap model) {
model.addAttribute("message", "Hello world!");
return "hello";
} @RequestMapping(method = RequestMethod.GET, value="add")
public String add(ModelMap model) {
model.addAttribute("message", "Hello world!");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("personDB");
EntityManager mgr = emf.createEntityManager();
mgr.getTransaction().begin();
OfficeEntity officeEntity = new OfficeEntity();
officeEntity.setOfficeName("test");
mgr.persist(officeEntity);
mgr.getTransaction().commit();
return "add";
} }
运行就可以了。
这时候如果我们返回persistence,console hql的话,就没有问题了

注意,在JBoss下会出现No suitable Driver 的问题,是从getTransaction()开始,不知道为什么会出现这种情况,在Tomcat下运行正常。
IntellJ 13.x JPA Persistence Sample的更多相关文章
- JPA persistence
Play provides a set of very useful helpers to simplify the management of your JPA entities. Note tha ...
- Spring data jpa persistence .xml 配置文件
<?xml version="1.0" encoding="UTF-8"?><persistence xmlns="http://j ...
- 摘抄JPA官方文档原文 防呆
Spring Data JPA - Reference Documentation Oliver GierkeThomas DarimontChristoph StroblMark PaluchVer ...
- jpa注解
http://www.oracle.com/technetwork/cn/middleware/ias/toplink-jpa-annotations-100895-zhs.html#ManyToOn ...
- JPA 批注参考
body, p, th, td, li, ul, ol, h1, h2, h3, h4, h5, h6, pre { font-family: simsun; line-height: 1.4; } ...
- jpa table主键生成策略
用 table 来生成主键详解 它是在不影响性能情况下,通用性最强的 JPA 主键生成器.这种方法生成主键的策略可以适用于任何数据库,不必担心不同数据库不兼容造成的问题. initialValue不起 ...
- JPA 相关API (一)
[Query 接口下的常用API] [API 测试类:Test_QueryAPI.java] 1 package org.zgf.jpa.entity; 2 3 import java.math.Bi ...
- SpringData JPA详解
Spring Data JPA 1. 概述 Spring JPA通过为用户统一创建和销毁EntityManager,进行事务管理,简化JPA的配置等使用户的开发更加简便. Spring Data ...
- hdu3652(含有13且能被13整除的数)数位DP基础
B-number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
随机推荐
- do{...}while(0)的作用
不是为了循环的while. 1.用于宏定义,保证宏一定按照想要的方式执行. #define foo(x) start(x); end(x) if(flag) foo(x); 扩展以后的结果 ...
- QRadioButton类中Toggled()信号的使用方法
QRadioButton类中Toggled()信号的使用方法 1.说明 QRadioButton中,Toggled()信号是在Radio Button状态(开.关)切换时发出的,而clicked()信 ...
- DuiLib(三)——控件消息
上一篇讲了控件创建,这篇说说控件消息.directui的中心思想是在真实窗口之上画出所有控件,那这些控件是如何获取各自消息的? 通过第一篇的示例可以看到窗口消息的传递过程: CWindowWnd::_ ...
- HDU 4587 B - TWO NODES tarjan
B - TWO NODESTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view ...
- 第八讲:HTML5中canvas实现小球击打小方块游戏
源码:http://download.csdn.net/detail/liumingm900913/7469969 游戏开发流程: 1.创建画布: 将画布放在div标签里面,这样能够控制画布居中的位置 ...
- 在Web上调用Ocx控件
原文:http://blog.csdn.net/goodadult2012/article/details/6343369 在HTML页面中使用ActiveX控件包含三个基本操作:将控件放入HTML中 ...
- XML Helper XML操作类
写的一个XML操作类,包括读取/插入/修改/删除. using System;using System.Data;using System.Configuration;using System.Web ...
- MHA手动切换 原创2 (主参与复制)
monitor 执行下面命令后, --orig_master_is_new_slave :原主变为新从,即server1变成了slave1的从.slave2跟据app1.conf中配制也变成了slav ...
- FTP服务器简易有效的访问方法
访问FTP服务器传统的方法是使用专用的客户端程序,如CuteFTP,8UFTP等,也包括命令行的FTP客户端c:\windows\system32\ftp.exe程序. FTP服务器也有简易访问方法 ...
- Linux vi编辑器
vim在内存缓冲区中处理数据 如果在启动vim时未指定文件名,或者这个文件不存在,vim会新开一段缓冲区来编辑. h 左移一个字符 j 下移一行 k 上移一行 l 右边移一个字符 PageDown(C ...