当前位置: 首页 > news >正文

一级a做爰片试看 免费网站wordpress用户名密码加密方式

一级a做爰片试看 免费网站,wordpress用户名密码加密方式,软件开发技术文档,wordpress插件百度各位读者好#xff01; 在我的一些朋友提出无数请求之后#xff0c;我决定写一篇关于Java Persistence API的简短文章。 面向对象的编程范式是当​​今最流行和使用最广泛的模型#xff0c;它具有无缝建模现实生活实体的能力#xff0c;因此它胜过大多数其他范式。 但是 在我的一些朋友提出无数请求之后我决定写一篇关于Java Persistence API的简短文章。 面向对象的编程范式是当​​今最流行和使用最广泛的模型它具有无缝建模现实生活实体的能力因此它胜过大多数其他范式。 但是在开发诸如学生数据库或员工数据库等中型数据导向的应用程序时人们只是打破了面向对象模型并将数据库连接直接链接到前端GUI。 但这不是一个好的编程习惯。 当我刚开始构建面向数据库的小型应用程序时我是一名顽固的OOP迷有点担心不使用OOP模型。 良好的编程习惯是拥有一个Solid Object模型并拥有一个数据存储区来保存数据然后是一个GUI。 所以模型基本上是这样的 但是我偶然发现了另一个问题。 如何链接对象和数据库。 对象中的数据与关系数据库中的数据存储方式不同。 关系数据库不支持许多对我们的对象模型至关重要的OOP概念。 因此我想到了酿造自己的类以将数据从数据库传输到对象然后再传输回来。 但是我面临很多困难和绊脚石。 然后休息了 我遇到了Java Persistence的东西这些东西使我可以在程序的生命周期之外保留或保存对象的数据。 这意味着您现在可以将对象存储到关系数据库或XML文件等数据存储中而无需编写复杂的代码来转换格式和管理CRUD操作。 这篇小文章将向您介绍这个很棒的功能并且您将可以开始在项目中实现Persistence。 我不想在本文中涉及复杂的主题。 因此我决定使用ObjectDB数据库。 使用ObjectDB的优点是它不需要JPA通常需要的复杂配置和映射文件。 我们将使用流行的Eclipse IDE 。 我将提供一个简单的示例程序该程序将存储和处理Employee详细信息名称和薪水。 好吧让我们开始吧………… 持久性服务由许多提供程序提供我们将使用ObjectDB的实现。 因此请下载其DB和API文件 。 现在让我们通过一些基础知识。 然后我们将看到如何实现这些以创建程序…… 一实体类 要使用持久性您需要将其对象存储在数据库中的类。 这些类称为实体类除了一些额外的注释外它们与POJO普通的旧Java对象相同。 您需要定义此类中必须保留的字段保存在db中。 实体类必须在类上方具有“ Entity ”注释。 现在定义该类的所有字段和方法。 瞧我们为自己准备了实体课 现在您可以向实体类添加其他功能。 例如您可以使用该字段上方的“ Id ”注释来指示哪个字段用作主键。 您还可以使用“ GeneratedValuestrategy GenerationType.AUTO ”批注使ObjectDB为持久存入数据库的对象生成主键值。 还有更多注释功能和构造。 但是我们现在不需要了解它们。 这是我们将用作实体类的类。 package employeeDB;import javax.persistence.*;Entity publicclass Employee {Id String name;Double salary;public Employee(){}public Employee (String name, Double Salary){this.namename;this.salarySalary;}publicvoid setSalary(Double Salary){this.salarySalary;}publicString toString(){returnName: name\nSalary: salary ;}} 如您所见我们通过Entity注释标识了Entity类。 然后将员工姓名作为主键。 并且您需要在实体类中有一个不带参数的默认构造函数。 在其他JPA实现中您可能必须在单独的XML文件中提供有关实体类的详细信息。 但是ObjectDB不需要这样做。 二。 连接到数据库 在JPA中数据库连接由EntityManager接口表示。 为了访问和使用ObjectDB数据库我们需要一个EntityManager实例。 我们可以使用EntityManagerFactory实例获得EntityManager的实例该实例是使用EntityManagerFactory类的静态createEntityManagerFactory方法创建的。 您需要指定数据库文件的存储位置作为createEntityManagerFactory方法的参数。 例 EntityManagerFactory emfPersistence.createEntityManagerFactory(empDB.odb); EntityManager ememf.createEntityManager(); 现在我们有了一个EntityManager它将我们的应用程序连接到数据库。 通常在一个程序中创建几个EntityManager但是仅创建一个EntityManagerfactory实例。 大多数JPA实现都需要称为“持久性单元”的XML映射文件作为创建EntityManagerFactory实例的参数。 但是ObjectDB具有仅接受数据库位置的规定。 如果数据库已经存在它将被打开否则将为我们创建一个新的数据库。 可以如下关闭EntityManagerFactory和EntityManager em.close(); emf.close(); 对于每个类负责某些数据库活动或在多线程应用程序的情况下每个线程都有一个单独的EntityManager是一个好习惯。 现在让我们看看如何使用数据库进行交易…。 三 执行交易 为了对数据库执行任何操作或对数据库执行任何操作我们必须首先启动事务。 只有使用EntityManager启动事务后才能执行任何操作。 我们可以使用以下电话开始交易。 em.getTransaction().begin(); 现在我们可以执行各种事务例如创建新的Record对象从数据库中删除更新和检索数据。 在执行任何CRUD操作之前我们需要将数据添加到数据库中。 在JPA中将对象插入数据库称为“持久”对象。 可以使用em.persistObject方法执行此操作。 现在此对象变为“托管”对象但变为EntityManagerem。 这意味着对该对象所做的任何更改都将反映在数据库文件的副本中。 要从数据库中删除任何对象我们可以使用em.removeObject方法。 我们可以使用em.findClassprimaryKeyValue方法使用对象的主键从数据库中检索对象。 您需要将Entity类的Class实例和主键传递给此方法它将返回一个“ Object”该对象必须转换为Entity Class。 最后执行交易后我们必须使用结束交易 em.getTransaction().commit(); 只有在提交事务后对内存中对象的更改才会反映在数据库文件中的对象上。 以下代码将持久存储一个Employee对象然后搜索一个Employee对象并对其进行修改。 Employee emp1new Employee (Gugan,50000);em.getTransaction().begin();//Persist (store) emp1 object into Database em.persist(emp1);//Search for Gugan Employee gugan(Employee) em.find(Employee.class,Gugan); gugan.setSalary(100000);em.getTransaction().commit(); 我们还可以使用SQL之类的查询称为JPQL来执行CRUD操作。 JPA中有两种查询类型。 普通查询和TypedQueries。 普通查询是非类型安全查询。 即查询不知道将要检索或使用的对象的类型。 但是TypedQuery是类型安全的查询。 为了创建类型化查询您需要指定将要使用的类的类型并将类的Class实例作为参数以及查询字符串传递。 TypedQueries是使用数据库的标准方法因此我们将仅使用它们。 可以使用以下语法创建它们 TypedQuery qem.createQuery(queryString,EntityClass.class); 如果查询仅返回一个对象或结果例如查找条目数计数则可以使用q.getSingleResult方法。 另一方面如果您的查询将返回对象的集合例如从数据库中检索雇员列表则可以使用q.getResultList方法它将返回创建时指定类型的List对象。 TypedQuery。 下面的代码首先将找到那里有多少雇员然后将从数据库中检索所有雇员对象。 em.getTransaction().begin();//find number of Employees TypedQuery countem.createQuery(Select count(emp) from Employee emp,Employee.class); System.out.println(\ncount.getSingleResult() employee record(s) Available in Database!\n);//Retrieve All Employee Objects in the database TypedQuery eem.createQuery(Select emp from Employee emp, Employee.class); List employeese.getResultList();em.getTransaction().commit(); JPQL与SQL查询非常相似。 唯一的区别是您使用类名和对象名而不是表名。 JPQL还支持查询中的参数。 例如。 如果要查找名称为“ Steve”的Employee并且仅在运行时知道名称“ Steve”则可以使用以下查询样式。 String namescannerObj.nextLine(); TypedQueryemployee query em.createQuery(SELECT e FROM Employee e WHERE e.name :name, Employee.class); query.setParameter(name, name); Employee empquery.getSingleResult(); 这用给定的“ name”变量替换“name”参数。 除了这些查询外还有许多其他查询。 有关JPQL的完整教程您可以阅读有关JPQL的ObjectDB手册 。 IV。 使用Eclipse进行ObjectDB JPA实现 Eclipse是Java AFAIK的最佳IDE。 因此我建议使用Eclipse开发应用程序。 从此处下载最新的Eclipse Indigo。 如果您已经拥有Eclipse Indigo或更旧的版本那么它就很好了。 使用文件菜单创建一个新的Java项目。 然后在新的项目对话框中为您的项目输入一个项目名称然后选择要在其中存储项目的目录然后选择下一步。 按下一步后将为您提供几个选项现在在此窗口中选择库选项卡。 然后选择“添加外部罐子”按钮这将打开一个新对话框。 现在浏览到您提取ObjectDB API文件的位置然后转到其中的bin文件夹并选择“ objectdb.jar”文件。 按打开将添加库。 现在按完成以创建您的项目。 现在我们已经创建了项目我们需要向其添加类。 现在在Eclipse IDE窗口左侧的Project Explorer窗格中右键单击您的项目名称然后选择New- Class。 现在将打开“新类”对话框。 在其中输入要创建的类名称然后也输入包名称。 所有其他选项都不必干预…… 在示例程序中我们将使用两个类。 一个用于雇员实体另一个用于容纳应用程序的主要方法和关键功能。 确保两个类都在同一个程序包中。 要查看创建的类请在“项目资源管理器”窗格中展开您的“项目”然后从节点列表中展开src然后您将在其中看到您的包。 展开它您将看到这些类。 五范例程序 既然您已经掌握了JPA的基本概念那么我将介绍一个示例控制台应用程序该应用程序将从数据库中存储修改和删除员工。如果您已阅读上述内容则可以轻松地遵循以下程序。 我在需要使程序更清晰的地方提供了注释。 使用上一节中告诉您的方法创建一个名为Employee的类并使用employeeDB作为包名并粘贴本教程第一节中给出的Employee Entity类的代码。 现在在同一软件包employeeDB下创建另一个名为Main的类并将以下代码放入其中。 package employeeDB;import javax.persistence.*; import java.util.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class Main {/*** Displays all Employees in the Database*/private static void displayAll(){em.getTransaction().begin();TypedQuery eem.createQuery(displayAllQuery, Employee.class);List Employee employeese.getResultList();if(employees.size()0){for(Employee temp:employees){System.out.println(temp);System.out.println();}System.out.println(employees.size() Employee Records Available...!);}elseSystem.out.println(Database is Empty!);em.getTransaction().commit();}/*** Insets an Employee into the Database.*/private static void insert(){System.out.print(Enter the number of Employees to be inserted: );ninput.nextInt();em.getTransaction().begin();for(int i0;in;i){ System.out.println(Enter the details of Employee (i1): );System.out.print(Name: );//I use BufferedReader to read String and hence I need to // Catch the IOException that it may throwtry{namebufferedReader.readLine();}catch (IOException e){e.printStackTrace();}System.out.print(Salary: );Salaryinput.nextDouble();Employee empnew Employee(name,Salary);em.persist(emp); //Store emp into Database}em.getTransaction().commit();System.out.println(\nn employee record(s) Created!\n);TypedQuery countem.createQuery(countQuery,Employee.class);System.out.println(\ncount.getSingleResult() employee record(s) Available in Database!\n);}/*** Deletes the specified Employee from the database*param name*/private static void delete(String name){em.getTransaction().begin();Employee e(Employee) em.find(Employee.class, name); //Find Object to be deletedem.remove(e); //Delete the Employee from databaseSystem.out.printf(Employee %s removed from Database....,e.name);em.getTransaction().commit();//Display Number of Employees leftTypedQuery countem.createQuery(countQuery,Employee.class);System.out.println(\ncount.getSingleResult() employee record(s) Available in Database!\n);}/*** Changes salary of the specified employee to passed salary*param name*param Salary*/private static void modify(String name,Double Salary){em.getTransaction().begin();Employee e(Employee) em.find(Employee.class, name); //Find Employee to be modifiede.setSalary(Salary); //Modify the salaryem.getTransaction().commit();System.out.println(Modification Successful!\n);}public static void main(String arg[]){System.out.println(Welcome to the Employee Database System!\n\n);do{ System.out.print(Menu: \n 1. View DB\n2. Insert \n3. Delete \n4. Modify\n5. Exit\nEnter Choice...);int chinput.nextInt();try{switch(ch){case 1:displayAll();break;case 2:insert();break;case 3:System.out.print(Name of Employee to be Deleted2: );namebufferedReader.readLine();delete(name);break;case 4:System.out.print(Name of Employee to be Modified: );namebufferedReader.readLine();System.out.print(New Salary: );Salaryinput.nextDouble();modify(name,Salary);break;case 5:if(em!null) em.close(); //Close EntityManagerif(emf!null) emf.close(); //Close EntityManagerFactoryexittrue;break;}}catch (IOException e){e.printStackTrace();}}while(!exit);}static EntityManagerFactory emfPersistence.createEntityManagerFactory(empDB.odb);static EntityManager ememf.createEntityManager();static Scanner inputnew Scanner(System.in);static BufferedReader bufferedReader new BufferedReader(new InputStreamReader(System.in));static int n;static String name;static Double Salary;static boolean exitfalse;//Query Repositorystatic String countQuerySelect count(emp) from Employee emp;static String displayAllQuerySelect emp from Employee emp;} 现在保存您的项目然后按运行按钮或按Ctrl F11。 现在该程序应该运行了您可以在底部窗格的“控制台”部分中看到输出。 这只是一个控制台应用程序。 我鼓励您为此开发一个GUI VI。 ObjectDB资源管理器工具 在结束之前我想向您介绍ObjectDB提供的一个非常有用的工具。 它称为ObjectDB Explorer可用于查看数据库文件包含的内容。 即您可以浏览数据库而无需编写代码来访问它。 这对于了解您的应用程序和进行调试非常有用。 您可以在Object DB的bin目录您在其中提取ObjectDB文件中找到资源管理器。 运行explorer.exe。 现在您可以使用File- Open Local选项打开数据库。 当您访问服务器中存储的数据库时将完成“打开远程”。 现在浏览并选择数据库并打开它。 现在双击左侧“持久性支持的类”窗格中显示的数据库。 现在对象浏览器将显示您的数据库。 您可以展开数据库中的每个对象以查看其内容。 相当整洁吧 以下是插入后我的数据库的样子…… 该资源管理器还提供了许多其他选项。 随意探索它们 我想您会对JPA有一个生动的想法。 我已经解释了使用ObjectDB实现的JPA的基本知识。 为了了解更多信息并增加知识您可以参考ObjectDB手册 该手册提供了有关带有ObjectDB的JPA的详尽详尽的文本。 这是Java真正有用的功能将对您有很大帮助。 对我有很大帮助 因此尝试更多地了解它。 您可以从此处下载源代码 参考 Java持久性API一个快速的介绍......从我们JCG伙伴史蒂夫·罗宾逊在褴褛“N”科技博客。 相关文章 GWT 2 Spring 3 JPA 2 Hibernate 3.5教程 JBoss 4.2.x Spring 3 JPA Hibernate教程 DataNucleus 3.0与Hibernate 3.5 Spring和AspectJ的领域驱动设计 提升您的休眠引擎 依赖注入–手动方式 翻译自: https://www.javacodegeeks.com/2011/08/java-persistence-api-quick-intro.html
http://www.pierceye.com/news/544716/

相关文章:

  • 企业网站报价模板下载国外设计网址
  • 做网站怎么排版手机网站怎样建设
  • 大连优化网站课程国内外贸网站建设
  • 苏州建设局官方网站响应式网站制作工具
  • 德州建设小学网站网页设计与制作心得体会1000
  • 建站之星用做什么网站婚纱摄影网站开发的目的
  • 手机网站建设 cms湖南手机响应式网站建设企业
  • 德阳建设局官方网站能去百度上班意味着什么
  • 网站推广临沂企业seo策划方案优化案例
  • 河北建设厅注册中心网站网站策划书模板大全
  • 嘉兴建设教育网站培训中心网站wordpress有哪些弹窗插件
  • 石家庄网站seo外包无锡 做网站
  • 江西中慧城乡建设开发公司网站修复WordPress图片上传错误
  • 冠县网站设计做网站优化找谁
  • 网站的建设公司哪个好推广线上渠道
  • 网站建设方向论文提纲安徽鑫华建设有限公司网站
  • 哪个网站上门做护肤优秀建筑案例分析
  • 建立网站ftp刷排名seo软件
  • 网站pv是什么app开发入门基础教程
  • 开发网站的可行性the7企业中 英文wordpress模板
  • 晋城网站设计重庆小程序商城开发
  • 找人做网站被骗能立案吗阿里云专有网络做网站
  • 做别人一摸一样的网站犯法吗买一个网站多少钱
  • 网站建设介绍书网站转换率
  • 云浮各类免费建站商业街网站建设方案
  • 注册网站怎么注册不了网站诊断示例
  • 打电话沟通做网站美食网页模板免费下载
  • 网站可以做库存吗表白网页在线生成网站
  • wordpress全站301网络设计项目
  • 新建网站二级网页怎么做手机建行网站