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

网站开发甲方需求文档代码编写网站

网站开发甲方需求文档,代码编写网站,站长平台有哪些,图片制作的软件有哪些1.JPA介绍 JPA (Java Persistence API) 是 Sun 官方提出的 Java 持久化规范。它为 Java 开发人员提供了一种对象/关联映射工具来管理 Java 应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合 ORM 技术#xff0c;结束现在 Hibernate#xff0c;TopLink结束现在 HibernateTopLinkJDO 等 ORM 框架各自为营的凌乱局面。JPA 在充分吸收了现有HibernateTopLinkJDO 等ORM框架的基础上发展而来的具有易于使用伸缩性强等优点。从上面的解释中我们可以了解到JPA 是一套规范而类似 HibernateTopLinkJDO这些产品是实现了 JPA 规范。 spring Data JPA 是 Spring 基于 ORM 框架、JPA规范的基础上封装的一套 JPA 应用框架底层使用了 Hibernate 的 JPA 技术实现可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能且易于扩展学习并使用 Spring Data JPA 可以极大提高开发效率。 2.mysql环境搭建 参考代码仓库里面的mysql模块这里只贴出docker-compose.yml version: 3 services:mysql:image: registry.cn-hangzhou.aliyuncs.com/zhengqing/mysql:5.7container_name: mysql_3306restart: unless-stopped volumes:- ./mysql/my.cnf:/etc/mysql/my.cnf- ./mysql/init-file.sql:/etc/mysql/init-file.sql- ./mysql/data:/var/lib/mysql # - ./mysql/conf.d:/etc/mysql/conf.d- ./mysql/log/mysql/error.log:/var/log/mysql/error.log- ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d # init sql script directory -- tips: it can be excute when /var/lib/mysql is emptyenvironment: # set environment,equals docker run -eTZ: Asia/ShanghaiLANG: en_US.UTF-8MYSQL_ROOT_PASSWORD: root # set root passwordMYSQL_DATABASE: demo # init database nameports: # port mappping- 3306:3306 运行 docker-compose -f docker-compose.yml -p mysql5.7 up -d 3.代码工程 pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdspringboot-demo/artifactIdgroupIdcom.et/groupIdversion1.0-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdjpa/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-autoconfigure/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!--jpa--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependency!--mysql--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency/dependencies /project entity package com.et.jpa.entity;import org.hibernate.annotations.GenericGenerator; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id;Entity public class User {IdGenericGenerator(name system-uuid, strategy uuid)GeneratedValue(generator system-uuid)private String id;private String name;private Integer age;private Boolean sex;public String getId() {return id;}public void setId(String id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public Boolean getSex() {return sex;}public void setSex(Boolean sex) {this.sex sex;} } 这里的一些注解解释如下 Entity 是一个类注解用来注解该类是一个实体类用来进行和数据库中的表建立关联关系首次启动项目的时候默认会在数据中生成一个同实体类相同名字的表table也可以通过注解中的 name 属性来修改表table名称 如Entity(name“user”) , 这样数据库中表的名称则是 user。该注解十分重要如果没有该注解首次启动项目的时候你会发现数据库没有生成对应的表。Table 注解也是一个类注解该注解可以用来修改表的名字该注解完全可以忽略掉不用Entity 注解已具备该注解的功能。Id 类的属性注解该注解表明该属性字段是一个主键该属性必须具备不可缺少。GeneratedValue 该注解通常和 Id 主键注解一起使用用来定义主键的呈现形式该注解通常有多种使用策略先总结如下GeneratedValue(strategy GenerationType.IDENTITY) 该注解由数据库自动生成主键自增型在 mysql 数据库中使用最频繁oracle 不支持。GeneratedValue(strategy GenerationType.AUTO)  主键由程序控制默认的主键生成策略oracle 默认是序列化的方式mysql 默认是主键自增的方式。GeneratedValue(strategy GenerationType.SEQUENCE) 根据底层数据库的序列来生成主键条件是数据库支持序列Oracle支持Mysql不支持。GeneratedValue(strategy GenerationType.TABLE) 使用一个特定的数据库表格来保存主键较少使用。 application.properties spring.jpa.hibernate.ddl-autoupdate spring.datasource.urljdbc:mysql://localhost:3306/demo?useUnicodetruecharacterEncodingutf-8serverTimezoneGMT%2B8 spring.datasource.usernameroot spring.datasource.passwordroot #Camel case naming automatically converts to underline spring.jpa.hibernate.naming.physical-strategyorg.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy #use mysql database spring.jpa.databasemysql # show sql spring.jpa.show-sqltrue server.port8088 这里重点简单介绍下spring.jpa.properties.hibernate.hbm2ddl.auto有几种配置 create表示每次加载Hibernate时都会删除上一次生成的表包括数据然后重新生成新表即使两次没有任何修改也会这样执行。适用于每次执行单测前清空数据库的场景。create-drop表示每次加载Hibernate时都会生成表但当SessionFactory关闭时所生成的表将自动删除。update最常用的属性值第一次加载Hibernate时创建数据表前提是需要先有数据库以后加载Hibernate时不会删除上一次生成的表会根据实体更新只新增字段不会删除字段即使实体中已经删除。validate每次加载Hibernate时都会验证数据表结构只会和已经存在的数据表进行比较根据model修改表结构但不会创建新表。不配置此项表示禁用自动建表功能 spring.jpa.show-sqltrue 该配置当在执行数据库操作的时候会在控制台打印 sql 语句方便我们检查排错等。 controller package com.et.jpa.controller;import com.et.jpa.entity.User; import com.et.jpa.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;import java.util.HashMap; import java.util.Map;RestController public class HelloWorldController {Autowiredprivate UserRepository userRepository;RequestMapping(/hello)ResponseBodypublic MapString, Object showHelloWorld(){MapString, Object map new HashMap();map.put(msg, HelloWorld);return map;}RequestMapping(/add)public User add(String name){User user new User();user.setName(name);return userRepository.save(user);}RequestMapping(/list)public IterableUser list(){IterableUser all userRepository.findAll();return all;} } repository package com.et.jpa.repository;import com.et.jpa.entity.User; import org.springframework.data.repository.CrudRepository;public interface UserRepository extends CrudRepositoryUser, String {} PagingAndSortingRepository 继承 CrudRepository、JpaRepository 继承 PagingAndSortingRepository也就是说 CrudRepository 提供基本的增删改查PagingAndSortingRepository 提供分页和排序方法JpaRepository 提供JPA需要的方法 代码仓库 https://github.com/Harries/springboot-demo 4.测试 启动spring boot应用会自动创建表查看控制台如下 Hibernate: create table user (id varchar(255) not null, age integer, name varchar(255), sex bit, primary key (id)) engineMyISAM 访问http://127.0.0.1:8088/add?namehblog2插入一条记录。控制台输出 Hibernate: insert into user (age, name, sex, id) values (?, ?, ?, ?) 访问http://127.0.0.1:8088/list查询表中数据控制台输出 Hibernate: select user0_.id as id1_0_, user0_.age as age2_0_, user0_.name as name3_0_, user0_.sex as sex4_0_ from user user0_   5.引用 http://www.liuhaihua.cn/archives/710351.htmlhttps://www.w3cschool.cn/article/1946cee4c53df8.html
http://www.hkea.cn/news/14403535/

相关文章:

  • 网站建设速成班怎么弄小程序
  • 网站根目录下美橙网站建设学习教程
  • 麻涌镇网站仿做搬瓦工wordpress安装
  • 手机看电视剧网站大全公司网络维护是做什么的
  • 恐怖音乐怎么做的视频网站ppt主题大全素材
  • 涿州做网站的公司企业信用信息公示系统网址年检
  • 流程做网站郑州企业推广
  • 外贸单在哪些网站做做网站一般图片的比例
  • wap视频网站如何做360网站的排名
  • 品牌建设网站有哪些百度400电话
  • 江门企业模板建站南昌高端网站建设
  • 汽车网站开发儿童摄影网站设计
  • 网站大学报名官网入口中企动力销售陪酒多吗
  • 汕头模版网站建设青岛公司网页设计
  • 邢台商城类网站建设深圳龙岗网站建设哪家好公司
  • 网站首页栏目设置南宁百度seo优化
  • 办公用品网站建设市场定位上城区商城网站建设
  • 2016年做网站能赚钱网站制作公司有哪些
  • 公司网站建设内容上市设计网站
  • wdcp备份的数据库网站文件在哪里外贸人常去的网站
  • 潍坊建设局网站wordpress 弹窗插件
  • 河北综合网站建设系列安徽专业做网站的大公司
  • 官方查企业信息的网站p2p理财网站建设
  • 网站注册商是什么微信朋友圈营销文案
  • 建设网站项目概述seo推广技术
  • 国内html5视频网站建设网站建设如何上传文件
  • 专门做护肤品网站网推渠道平台
  • 网站开发建设账务处理程序中山精品网站建设公司
  • 最好网站制作工具免费的网页域名
  • 请人代做谷歌外贸网站目前主流网站开发所用软件