问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jpa 怎么识别mysql 关键字

发布网友 发布时间:2022-04-15 11:55

我来回答

2个回答

懂视网 时间:2022-04-15 16:16

bitsCN.com

  JPA,一套相当优秀的持久化规范,开始体验。


  1、我使用Hibernate对JPA提供的实现,下载hibernate-release-4.1.1.Final.zip。解压。

  在hibernate-release-4.1.1.Final/lib目录下有四个存放jar包的目录,其中

   hibernate-release-4.1.1.Final/lib/jpa 存放hibernate对JPA提供实现的jar

   hibernate-release-4.1.1.Final/lib/required 存放hibernate开发所需jar

  这两个目录下的所有jar是我们体验JPA所必需的。


  2、新建一个Java Project。

  2.1 导入hibernate-release-4.1.1.Final/lib/jpa目录和hibernate-release-4.1.1.Final/lib/required目录下得所有jar

  2.2 在项目的classpath路径下建立META-INF目录

   在META-INF目录下建立persistence.xml文件

    

 1  2  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  
输出schema创建DDL语句 -->23 24 25 26 27

  用的是mysql,请建立一个名叫jpa的数据库。无需手动建表,执行测试的时候会自动建表。


  3、项目视图如下:

  

 


  4、编写实体类。

  

 1 package com.cndatacom.jpa.entity; 2 3 import javax.persistence.Column; 4 import javax.persistence.Entity; 5 import javax.persistence.GeneratedValue; 6 import javax.persistence.Id; 7 import javax.persistence.Table; 8 9 @Entity10 @Table(name="t_user")11 public class User {12 13 /**14 * 主键15 */16 @Id17 @GeneratedValue18 private Long id;19 20 /**21 * 名字22 */23 @Column(name="name")24 private String name;25 26 /**27 * 密码28 */29 @Column(name="password")30 private String password;31 32 public Long getId() {33  return id;34 }35 36 public void setId(Long id) {37  this.id = id;38 }39 40 public String getName() {41  return name;42 }43 44 public void setName(String name) {45  this.name = name;46 }47 48 public String getPassword() {49  return password;50 }51 52 public void setPassword(String password) {53  this.password = password;54 }55 56 }


5、编写测试类。

  

 1 package com.cndatacom.jpa.test; 2 3 import javax.persistence.EntityManager; 4 import javax.persistence.EntityManagerFactory; 5 import javax.persistence.Persistence; 6 7 import org.junit.After; 8 import org.junit.Before; 9 import org.junit.Test;10 11 import com.cndatacom.jpa.entity.User;12 13 14 public class TestJPA {15 16 EntityManagerFactory emf = null;17 18 @Before19 public void before() {20  //根据在persistence.xml中配置的persistence-unit name 创建EntityManagerFactory21  emf = Persistence.createEntityManagerFactory("myJPA");22 }23 24 /**25 * 添加用户26 */27 @Test28 public void addUser() {29  30  //创建一个用户31  User user = new User();32  user.setName("叶开");33  user.setPassword("yekai");34  35  //创建实体管理器对象36  EntityManager em = emf.createEntityManager();37  //开启事务38  em.getTransaction().begin();39  //持久化对象40  em.persist(user);41  //提交事务42  em.getTransaction().commit();43  //关闭EntityManager44  em.close();45 }46 47 /**48 * 修改用户49 */50 @Test51 public void modifyUser() {52  EntityManager em = emf.createEntityManager();53  em.getTransaction().begin();54  //查找id为1的User55  User user = em.find(User.class, 1L);//User 的主键id为Long型56  user.setName("李坏");57  //进行更新58  em.merge(user);59  em.getTransaction().commit();60  em.close();61 }62 63 /**64 * 删除用户65 */66 @Test67 public void deleteUser() {68  EntityManager em = emf.createEntityManager();69  em.getTransaction().begin();70  //查找id为1的User71  User user = em.find(User.class, 1L);//User 的主键id为Long型72  //进行删除73  em.remove(user);74  em.getTransaction().commit();75  em.close();76 }77 78 /**79 * 关闭EntityManagerFactory80 */81 @After82 public void after() {83  if(null != emf) {84  emf.close();85  }86 }87 88 }

 


  6、一些说明。

  @Entity 将领域标注为一个实体,表示要保存到数据库中。

  @Table 指定在数据库中对应的表名

  @Id 对应的属性是表的主键

  @GeneratedValue 主键的产生策略,这里表示使用默认的GenerationType.AUTO

  @Column 属性对应数据库表中的列,name指定列名,不写name的话,属性名和列名一致。

  

 

  

bitsCN.com

热心网友 时间:2022-04-15 13:24

\...\...\...\..\
........\...\...\...\..\...\Test.class
........\...\hibernate.cfg.xml
........\...\META-INF
........\...\........\persistence.xml
........\libs
........\....\antlr-2.7.6.jar
........\....\c3p0-0.9.1.jar
........\....\commons-collections-3.1.jar
........\....\commons-logging-1.1.1.jar
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
定金人和尾款人是什么意思 定金人尾款人打工人 【资讯】糖豆人踮踮脚尖进入高手行列,加速器免费版试一下 《糖豆人终极淘汰赛》踮踮脚尖玩法攻略介绍_《糖豆人终极淘汰赛》踮踮... 【资讯】糖豆人攻略踮踮脚尖玩法,网游加速器非常不错 糖豆人终极淘汰赛踮踮脚尖怎么玩介绍_糖豆人终极淘汰赛踮踮脚尖怎么玩... 糖豆人踮踮脚尖滑怎么办-糖豆人踮踮脚尖滑解决方法介绍 糖豆人终极淘汰赛踮踮脚尖怎么过-糖豆人终极淘汰赛踮踮脚尖攻略 苏州桥酒该怎样选购? 苏州本地白酒吴井酒价格怎么样? 武汉至岳阳交通 我今天苹果xs被偷了能找得回来吗? 《富可敌国》对冲基金与新精英的崛起小说txt全集免费下载 求言情小说,男女主工作上认识,男主之前在华尔街操盘做对冲很厉害 像诛仙差不多的小说谁介绍几本,文笔一定要OK 对冲小说在哪可以看完整版 java的运算中~10为什么是-11 +11的原码是0001011,-11的原码是10001011要怎么理解啊? VC++中,非运算(~10)结果为0101,为什么转换为十进制是-11??怎样识别二进制中的正负? -11>>1结果的二进制补码为多少? 知道一个数,怎么求他的原码和补码?急.比如说-11 负十一的补码 43-11 补码运算? 知道一个数,怎么求他的原码和补码?急。。。比如说-11 负十一的原码补码反码是什么? 急需!!!谢谢!!! -11的补码是110101,具体怎么算的? 十进制数-11的16位二进制补码 假定一个数在机器中占用8位,则-11的补码是多少? 答案是:11110101 求解题的详细过程!!!! -11的补码是怎么算了 黄豆酱是否含黄曲霉毒素 九阳破壁机可以搅碎猪蹄吗? JPA怎么设置MySQL里自动增长列 助学贷款多出来的钱怎么办 助学贷款贷多了怎么办 助学贷款多下的钱怎么办? 我申请了生源地助学贷款,但申请多了怎么办? 助学贷款贷多了学校可以退吗 生源地助学贷款多给了学校2000怎么办? 想买个华为手机.不知道哪款好 华为麦芒6和oppor9s哪个好 vivo6与华为麦芒4那个好 http的全称 什么是超文本传输协议? jpa查询mysql4 int字段返回long吗 BTV5节目表 锐斯特摄像头恢复出厂设置 锐思特连锁监控保存多久 锐斯特监控硬盘录像机怎么连接手机呢? windows10关机以后鼠标灯还亮着怎么关 BTV财经频道有哪些财经类对话访谈节目