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

网站搜索引擎优化的基本内容wordpress国内訪問

网站搜索引擎优化的基本内容,wordpress国内訪問,早期做网站 如何推广,网站建设名列前茅本篇博客源码地址#xff1a;https://github.com/DragonWatcher/ease-run 概述 Hibernate与JPA 本篇博客中的web项目选用Hibernate作为持久层框架。在Spring Boot中#xff0c;我们需要了解另一个概念#xff1a;JPA 上一句话可能有些歧义#xff0c;并不是说JPA就是Sp…本篇博客源码地址https://github.com/DragonWatcher/ease-run 概述 Hibernate与JPA 本篇博客中的web项目选用Hibernate作为持久层框架。在Spring Boot中我们需要了解另一个概念JPA 上一句话可能有些歧义并不是说JPA就是Spring Boot中的概念。而是Java Persistence Api中文译名为:Java持久层Api。 JPA是一个基于ORM或叫O/R mapping 对象关系映射的标准规范在这个规范中JPA只定义标准规则不提供实现。 目前JPA的主要实现有HibernateEclipseLinkOpenJPA等。 由于Hibernate在数据访问解决技术领域的霸主地位所以JPA标准基本由Hibernate主导。 SpringBoot这支自动步枪 spring框架中提供Spring Data JPA作为开发者应用Hibernate框架的接口工具。我们的Spring Boot则提供了一款全自动的“自动依赖模块”spring-boot-starter-data-jpa 在start.spring.io页面中的依赖搜索框中去搜索jpa即可获得与jpa相关的全套服务。 快速实现数据操作 Pom依赖结构 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId /dependency !-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -- dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId /dependency 说明mysql-connector-java提供了mysql驱动等类库此处必须引入此依赖否则将会提示 Cannot load driver class: com.mysql.jdbc.Driver等错误信息。 配置数据源信息 官方配置信息可以参考Appendix A. Common application properties 应用案例如下 #mysql spring.datasource.urljdbc:mysql://localhost:3306/ease-run?useunicodetruecharacterEncodingutf8 spring.datasource.usernameroot spring.datasource.passwordroot spring.datasource.driver-class-namecom.mysql.jdbc.Driver spring.datasource.max-idle10 spring.datasource.max-wait10000 spring.datasource.min-idle5 spring.datasource.initial-size5 # Specify the DBMS spring.jpa.database MYSQL # Show or not log for each sql query spring.jpa.show-sql true # Hibernate ddl auto (create, create-drop, update) spring.jpa.hibernate.ddl-auto update # Naming strategy spring.jpa.hibernate.naming-strategy org.hibernate.cfg.ImprovedNamingStrategy # stripped before adding them to the entity manager spring.jpa.properties.hibernate.dialect org.hibernate.dialect.MySQL5Dialect 上述配置信息保存在springboot的application.properties配置文件中。其中url信息的末尾追加了编码等参数是为了解决中文数据的查询问题目前只注意到了查询的时候在通过Hibernate的HQL进行数据查询时即便传入的参数是正常的中文字符且数据库中也有对应的中文数据在返回时也会为null的情况修改删除等操作一定也会出现类似问题。 spring.jpa.hibernate.naming-strategy是定义HibernateO/R映射字段的命名策略spring.jpa.properties.hibernate.dialect为Hibernate的数据库方言。另外还有一些其他jpa配置信息篇幅有限可查阅jpahibernate架构基本配置相关。 添加启动类注解 EnableJpaRepositories 创建实体类 为了避免频繁书写部分注解我们可以通过继承的方式来书写实体类 基类 import java.io.Serializable;import javax.persistence.Column; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.MappedSuperclass;MappedSuperclass public class BaseEntity implements Serializable{IdGeneratedValue(strategy GenerationType.AUTO)protected Long id;Column(name name)protected String name;public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;} }子类 import javax.persistence.Entity; import javax.persistence.Table;Entity Table(name yyh_user) public class User extends BaseEntity{ }上述两个类中注解MappedSuperclass和Entity是必须的。 其中MappedSuperclass标识基类这个基类不会以一个实体记录的形式映射到数据库中但继承它的子类在映射数据库的时候会自动扫描该基类实体的映射属性不论是自动建表、添加记录、查询等操作都可以虽子类中的属性一同映射到数据库中。Entity标识一个实体类任何Hibernate映射对象都要有这个注解。 使用方式 1.MappedSuperclass注解使用在一个实体类父类上来标识这个父类。 2.MappedSuperclass标识的类表示其不能映射到数据库表因为其不是一个完整的实体类但它所拥有的属性能够映射到其子类所在的表中。 3.MappedSuperclass标识的类不能再有Entity和Table注解。 定义数据库操作接口 package com.mht.dao.repository;import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository;import com.mht.dao.entity.User;Repository public interface UserRepository extends JpaRepositoryUser, Integer{public User findById(Long id);public User save(User user);Query(value SELECT u FROM User u WHERE name:name)public User findName(Param(name) String name);}数据库操作接口继承自JpaRepository泛型类在继承之时即获得了其赐予开发者的神之力量 我们可以直接调用这些方法进行数据库操作同时我们也可以通过自定义HQL来完成符合个性的其他操作如 Query(value SELECT u FROM User u WHERE u.name:name) public User findName(Param(name) String name); 这段代码中通过Query注解完成了HQL的书写其中“:name”与下方的Param注解中参数保持一致。 注意在HQL中的表名应该是ORM映射的类名而且HQL与传统的SQL语句有一些出入比如“*”的意义不尽相同等等。 如果不习惯使用HQL也可以使用SQL语句 Query(value SELECT * FROM yyh_user WHERE name?, nativeQuery true) public User findName(String name); 上述方法在执行时亲测依然奏效nativeQuery为true代表使用SQL语言。 完成Controller与Service实现 在Service中添加依赖对象 Autowired private UserRepository userRpy; controller类似在此不再赘述。 启动项目 Hibernate会自动将实体类映射到数据库中为我们建立相关的数据库表它会根据Table、Column、Id、GeneratedValue(strategy GenerationType.AUTO)等注解实现数据库表的自动匹配。省去了大量建表的工作。 hibernate_sequence表是GeneratedValue注解完成的id生成策略GenerationType.AUTO代表自动生成前提是id属性必须是int或者long类型的属性如果是String类型的id那么添加此注解于id之上会立即报错。因此如果是针对于String类型的id则不需要为id添加GeneratedValue(strategy GenerationType.AUTO)注解。 请求测试 分别通过get和post来完成数据的请求和数据的保存。 GET请求 POST数据推送 先来看一下数据库 推送数据 数据库 GET再查询 以上就是springboot对hibernate框架的整合使用如果喜欢还望评论三言两语:-)
http://www.zqtcl.cn/news/540370/

相关文章:

  • 涡阳网站优化建设工程公司企业文化
  • 曲靖市住房和城乡建设局网站罗湖区网站公司
  • 购物券网站怎么做wordpress+好用插件
  • 商务网站建设的一般流程是什么?南宁seo费用服务
  • 做企业网站需要什么seminar是什么意思
  • 如何把代码放在网站首页教程深圳建网站哪个公
  • 做的网站第二年续费多钱上传到服务器的网站打开是空白
  • 网站建设花多少钱怎样建移动网站
  • 关键词排名优化网站上海有几个区分别叫什么名字
  • php网站开发基础定制自己的软件
  • 私人装修接单网站wordpress热门文章插件
  • 湘潭网站外包公司宁波妇科医生推荐
  • 企业网站建设可以分为几个层次三亚网站定制
  • 手机网站可以做商城吗如何为公司建立网站
  • 淄博建设银行网站怎么做盗号网站手机
  • 网站建设推广的10种方法精美个人网站
  • 西安专业承接网站搭建模板网站聚合页
  • 便宜网站建设加盟推广公司
  • 手机移动端网站怎么做三维建设项目管理网站
  • 如何把网站设为正确建设中广东学校网站建设公司
  • 企业型网站建设怎样收费dw制作网站模板
  • 自适应网站欣赏医联体网站建设
  • 南安市住房和城乡建设部网站微商城网站建设行情
  • 网站开发的前景wordpress倒闭
  • 合肥网站建设网页设计免费推广渠道有哪些方式
  • 广州电力建设有限公司网站按月网站建设
  • 做网站客户会问什么问题手机如何制作网页链接
  • 做足球直播网站wordpress筛选框
  • 做网站需求文档深圳站建在边境
  • 网站建设法规浙江建设信息港证书查询