当前位置: 首页 > 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/14293027/

相关文章:

  • 最新建设招聘信息网站深圳网站建公司
  • 攻略网站的建设广州番禺职业技术学院招生网
  • 介绍好的免费网站模板下载地址梅州市建设局网站
  • 网站开发需要哪些基础技术小米开放平台
  • 兰州网站建设怎么选山东一级造价师考试时间
  • 企业网站建设实训小结金融类网站源码
  • 个人介绍网页制作苏州推广关键词优化
  • 怎样做问卷网站wordpress wp_enqueue_script
  • 建设银行网站首页外贸网站镜像
  • html php网站开发报告建立个人网站能赚钱吗
  • 什么是网络营销策划书网站怎样做优化网页
  • 站长之家whois网站域名续费后SEO查询未更换
  • 不忘初心网站建设获取网站域名
  • 香格里拉网站建设直接做那个视频网站
  • 建设网站前的市场分析包括哪些内容哪个网站做漫画可以有钱
  • 请问哪个网站可以做当地向导手机软件开发培训班
  • 网站建设如何工作vi设计是设计什么东西
  • 网站建设先有域名然后呢做美食哪些类型网站
  • 汕头高端模板建站网站建设 地址 上海石门二路
  • 做彩票网站程序违法吗h5企业网站定制排名
  • 鞍山市住房和城乡建设网站想要注册一个公司网站怎么做
  • 互动网站策划邯郸网络宣传公司
  • 建立自己的网站有什么用个人备案域名可以做哪些网站吗
  • 网站集约建设后网站域名规范域名不用了需要注销吗
  • 时间管理系统 网站开发安卓软件免费下载
  • 石家庄科技中心网站做医疗信息网站的域名
  • 做静态网站郑州app开发制作
  • 电脑在哪网站接做扇子单上海专业制作网页
  • 商城软件下载seo 关键词优化
  • 做美剧盗版网站怎样修改网站标题