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

刚开始做写手上什么网站哪些网站权重高

刚开始做写手上什么网站,哪些网站权重高,南昌房产网官方网站,微信建设银行官方网站目录 引出Jpa是啥#xff1f;Jpa的使用创建实体类写dao接口类写服务类 crud增删改查增加修改根据id删除全查询分页查询 条件查询模糊查询单条件查询多条件查询模糊查询排序查询 多对一查询定义实体类auto主键策略下新增进行全查询测试 全部代码application.yml配置类pom配置文… 目录 引出Jpa是啥Jpa的使用创建实体类写dao接口类写服务类 crud增删改查增加修改根据id删除全查询分页查询 条件查询模糊查询单条件查询多条件查询模糊查询排序查询 多对一查询定义实体类auto主键策略下新增进行全查询测试 全部代码application.yml配置类pom配置文件实体类Car实体类Factory实体类 dao接口类service服务类测试代码 总结 引出 1.jpa是啥java持久层的apiSpringBoot官方支持 2.约定大于配置的理念增删改查savedeleteByIdfindAll 3.多条件查询andorlike约定大于配置 4.多对一的查询ManyToOne Jpa是啥 Spring Data JPA JPA是Java Persistence API的缩写是Java EEEnterprise Edition中用于实现对象关系映射ORM的一种规范。它提供了一组用于管理和持久化Java对象的API使开发人员能够以面向对象的方式操作数据库。 JPA的目标是提供一种统一的、面向对象的数据访问方式使开发人员能够更加方便地进行数据库操作而不需要关注底层数据库的细节。它抽象了不同数据库之间的差异提供了一套通用的API使开发人员能够以相同的方式操作不同的数据库。 JPA的核心概念包括实体Entity、实体管理器EntityManager、持久化上下文Persistence Context等。开发人员可以通过注解或XML配置来定义实体类和数据库表之间的映射关系然后使用EntityManager进行增删改查等数据库操作。 JPA的实现有很多比较常用的有Hibernate、EclipseLink等。开发人员可以根据自己的需求选择合适的JPA实现框架来使用。 Jpa的使用 创建实体类 javax Entity Table IdGeneratedValue(strategy) AUTO/IDENTITY(数据库自己的主键自增长策略???)Column GenerationType.AUTO:会多一张表记录键 GenerationType.IDENTITY:用数据库自增的主键 GeneratedValue(strategy GenerationType.IDENTITY) // 用数据库自增长策略 在jpa中ddl-auto共分为四种: spring.jpa.hibernate.ddl-auto create ----每次启动SpringBoot程序时没有表会新建表格表内有数据会清空 spring.jpa.hibernate.ddl-auto create-drop ----每次启动SpringBoot程序时会清空表数据 spring.jpa.hibernate.ddl-auto update ---- 每次启动SpringBoot程序时没有表格会新建表格表内有数据不会清空只会更新 spring.jpa.hibernate.ddl-auto validate ---- 每次启动SpringBoot程序时会校验实体类字段与数据库字段的类型是否相同不同则会报错 package com.tianju.jpa.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import javax.persistence.*; import java.math.BigDecimal;Data NoArgsConstructor AllArgsConstructor// 表示这个实体类是和数据库表对应的 Entity Table(name car_tab) // 对应的表名 public class Car {Id // 是主键// GenerationType.AUTO:会多一张表记录键// GenerationType.IDENTITY:用数据库自增的主键GeneratedValue(strategy GenerationType.IDENTITY) // 用数据库自增的策略Column(name car_id)private Integer id;Column(name car_num)private String carNum; // 车牌Column(name car_brand)private String brand; // 品牌Column(name car_color)private String color; // 颜色Column(name car_price)private BigDecimal price; // 价格 } 写dao接口类 JpaRepositoryIdentity,String实体类以及主键的类型 package com.tianju.jpa.mapper;import com.tianju.jpa.entity.Car; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;/*** JpaRepositoryIdentity,String实体类以及主键的类型*/ Repository // 用在持久化对象上类似于mapper public interface CarDao extends JpaRepositoryCar,Integer { } 写服务类 package com.tianju.jpa.service.impl;import com.tianju.jpa.entity.Car; import com.tianju.jpa.mapper.CarDao; import com.tianju.jpa.service.ICarService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;Service public class CarServiceImpl implements ICarService {Autowiredprivate CarDao carDao;Overridepublic void add(Car car) {carDao.save(car);} }crud增删改查 增加 carDao.save(car);插入多条数据 插入后的结果 修改 Overridepublic void update(Car car) {carDao.save(car);}Overridepublic Car findById(int id) {Car car carDao.findById(id).get();return car;}根据id删除 Overridepublic void deleteById(int id) {carDao.deleteById(id);}全查询 Overridepublic ListCar findAll() {return carDao.findAll();}分页查询 import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; Overridepublic Page findByPage(int pageNum, int pageSize) {PageRequest pageRequest PageRequest.of(pageNum, pageSize);PageCar carPage carDao.findAll(pageRequest);return carPage;}分页查询的sql 条件查询模糊查询 单条件查询 package com.tianju.jpa.mapper;import com.tianju.jpa.entity.Car; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;import java.util.List;/*** JpaRepositoryIdentity,String实体类以及主键的类型*/ Repository // 用在持久化对象上类似于mapper public interface CarDao extends JpaRepositoryCar,Integer {ListCar findCarsByColor(String color); } 多条件查询 package com.tianju.jpa.mapper;import com.tianju.jpa.entity.Car; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;import java.util.List;/*** JpaRepositoryIdentity,String实体类以及主键的类型*/ Repository // 用在持久化对象上类似于mapper public interface CarDao extends JpaRepositoryCar,Integer {ListCar findCarsByColor(String color);ListCar findByColorAndBrand(String color,String brand);ListCar findByColorOrBrand(String color,String brand);}or查询 模糊查询 package com.tianju.jpa.mapper;import com.tianju.jpa.entity.Car; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;import java.util.List;/*** JpaRepositoryIdentity,String实体类以及主键的类型*/ Repository // 用在持久化对象上类似于mapper public interface CarDao extends JpaRepositoryCar,Integer {ListCar findCarsByColor(String color);ListCar findByColorAndBrand(String color,String brand);ListCar findByColorOrBrand(String color,String brand);ListCar findByBrandLike(String brand);}排序查询 package com.tianju.jpa.service.impl;import com.tianju.jpa.entity.Car; import com.tianju.jpa.mapper.CarDao; import com.tianju.jpa.service.ICarService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service;import java.util.List;Service public class CarServiceImpl implements ICarService {Autowiredprivate CarDao carDao;Overridepublic void add(Car car) {carDao.save(car);}Overridepublic void update(Car car) {carDao.save(car);}Overridepublic Car findById(int id) {Car car carDao.findById(id).get();return car;}Overridepublic void deleteById(int id) {carDao.deleteById(id);}Overridepublic ListCar findAll() {return carDao.findAll();}Overridepublic Page findByPage(int pageNum, int pageSize) {PageRequest pageRequest PageRequest.of(pageNum, pageSize);PageCar carPage carDao.findAll(pageRequest);return carPage;}Overridepublic ListCar findCarsByColor(String color) {return carDao.findCarsByColor(color);}Overridepublic ListCar findByColorAndBrand(String color, String brand) {return carDao.findByColorAndBrand(color, brand);}Overridepublic ListCar findByColorOrBrand(String color, String brand) {return carDao.findByColorOrBrand(color,brand);}Overridepublic ListCar findByBrandLike(String brand) {return carDao.findByBrandLike(brand);}Overridepublic ListCar orderByPrice() {Sort price Sort.by(Sort.Direction.DESC, price);return carDao.findAll(price);} } 多对一查询 定义实体类 package com.tianju.jpa.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import javax.persistence.*; import java.math.BigDecimal;Data NoArgsConstructor AllArgsConstructor// 表示这个实体类是和数据库表对应的 Entity Table(name car_tab) // 对应的表名 public class Car {Id // 是主键// GenerationType.AUTO:会多一张表记录键// GenerationType.IDENTITY:用数据库自增的主键GeneratedValue(strategy GenerationType.IDENTITY) // 用数据库自增的策略Column(name car_id)private Integer id;Column(name car_num)private String carNum; // 车牌Column(name car_brand)private String brand; // 品牌Column(name car_color)private String color; // 颜色Column(name car_price)private BigDecimal price; // 价格ManyToOneJoinColumn(name factory_id)private Factory factory; // 多对一的工厂 } package com.tianju.jpa.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import javax.persistence.*;/*** 生产车的工厂多个车对应一个工厂*/Data NoArgsConstructor AllArgsConstructor// 表示这个实体类是和数据库表对应的 Entity Table(name car_factory) // 对应的表名public class Factory {IdGeneratedValue(strategy GenerationType.AUTO)Column(name factory_id)private Integer id;Column(name factory_name)private String name;} 自动建的表 auto主键策略下新增 新增后的表 进行全查询测试 运行的SQL语句 全部代码 application.yml配置类 在jpa中ddl-auto共分为四种: spring.jpa.hibernate.ddl-auto create ----每次启动SpringBoot程序时没有表会新建表格表内有数据会清空 spring.jpa.hibernate.ddl-auto create-drop ----每次启动SpringBoot程序时会清空表数据 spring.jpa.hibernate.ddl-auto update ---- 每次启动SpringBoot程序时没有表格会新建表格表内有数据不会清空只会更新 spring.jpa.hibernate.ddl-auto validate ---- 每次启动SpringBoot程序时会校验实体类字段与数据库字段的类型是否相同不同则会报错 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.111.130:3306/jpa_db?useUnicodetruecharacterEncodingutf8serverTimezoneGMT%2B8allowMultiQueriestrueusername: rootpassword: 123jpa:# 允许显示sqlshow-sql: truehibernate:# 自动对表进行增删改查的操作创建表# 可以开始的时候打开等表创建好之后关闭ddl-auto: updateserver:port: 9089pom配置文件 ?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.xsdmodelVersion4.0.0/modelVersiongroupIdcom.tianju.jpa/groupIdartifactIdspring-boot-jpa/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/properties!-- 起步依赖--parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.6.13/version/parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!--mysql驱动--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope/dependencydependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-openapi2-spring-boot-starter/artifactIdversion4.0.0/version/dependency!-- Jpa的包--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependency/dependencies/project实体类 Car实体类 package com.tianju.jpa.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import javax.persistence.*; import java.math.BigDecimal;Data NoArgsConstructor AllArgsConstructor// 表示这个实体类是和数据库表对应的 Entity Table(name car_tab) // 对应的表名 public class Car {Id // 是主键// GenerationType.AUTO:会多一张表记录键// GenerationType.IDENTITY:用数据库自增的主键GeneratedValue(strategy GenerationType.IDENTITY) // 用数据库自增的策略Column(name car_id)private Integer id;Column(name car_num)private String carNum; // 车牌Column(name car_brand)private String brand; // 品牌Column(name car_color)private String color; // 颜色Column(name car_price)private BigDecimal price; // 价格ManyToOneJoinColumn(name factory_id)private Factory factory; // 多对一的工厂 } Factory实体类 package com.tianju.jpa.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import javax.persistence.*;/*** 生产车的工厂多个车对应一个工厂*/Data NoArgsConstructor AllArgsConstructor// 表示这个实体类是和数据库表对应的 Entity Table(name car_factory) // 对应的表名public class Factory {IdGeneratedValue(strategy GenerationType.AUTO)Column(name factory_id)private Integer id;Column(name factory_name)private String name;} dao接口类 package com.tianju.jpa.mapper;import com.tianju.jpa.entity.Car; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;import java.util.List;/*** JpaRepositoryIdentity,String实体类以及主键的类型*/ Repository // 用在持久化对象上类似于mapper public interface CarDao extends JpaRepositoryCar,Integer {ListCar findCarsByColor(String color);ListCar findByColorAndBrand(String color,String brand);ListCar findByColorOrBrand(String color,String brand);ListCar findByBrandLike(String brand);}service服务类 package com.tianju.jpa.service.impl;import com.tianju.jpa.entity.Car; import com.tianju.jpa.mapper.CarDao; import com.tianju.jpa.service.ICarService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service;import java.util.List;Service public class CarServiceImpl implements ICarService {Autowiredprivate CarDao carDao;Overridepublic void add(Car car) {carDao.save(car);}Overridepublic void update(Car car) {carDao.save(car);}Overridepublic Car findById(int id) {Car car carDao.findById(id).get();return car;}Overridepublic void deleteById(int id) {carDao.deleteById(id);}Overridepublic ListCar findAll() {return carDao.findAll();}Overridepublic Page findByPage(int pageNum, int pageSize) {PageRequest pageRequest PageRequest.of(pageNum, pageSize);PageCar carPage carDao.findAll(pageRequest);return carPage;}Overridepublic ListCar findCarsByColor(String color) {return carDao.findCarsByColor(color);}Overridepublic ListCar findByColorAndBrand(String color, String brand) {return carDao.findByColorAndBrand(color, brand);}Overridepublic ListCar findByColorOrBrand(String color, String brand) {return carDao.findByColorOrBrand(color,brand);}Overridepublic ListCar findByBrandLike(String brand) {return carDao.findByBrandLike(brand);}Overridepublic ListCar orderByPrice() {Sort price Sort.by(Sort.Direction.DESC, price);return carDao.findAll(price);} } 测试代码 package com.tianju.jpa.mapper;import com.tianju.jpa.entity.Car; import com.tianju.jpa.entity.Factory; import com.tianju.jpa.service.ICarService; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.domain.Page; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.math.BigDecimal; import java.util.List; import java.util.Random;import static org.junit.Assert.*;SpringBootTest RunWith(SpringJUnit4ClassRunner.class) public class CarDaoTest {Autowiredprivate ICarService carService;Testpublic void addCar(){for (int i 0;i10;i){double random Math.round(Math.random() * 100) / 100.0 8888; // carService.add(new Car(null,苏A888 i,BMW,红色,new BigDecimal(random)));}}Testpublic void updateCar(){Car car carService.findById(10);car.setCarNum(浙江888);carService.update(car);}Autowiredprivate FactoryDao factoryDao;Testpublic void addFactory(){factoryDao.save(new Factory(null,上海工厂));factoryDao.save(new Factory(null,南京工厂));factoryDao.save(new Factory(null,山西工厂));}Testpublic void deleteById(){carService.deleteById(11);}Testpublic void findCarsByColor(){ListCar cars carService.findCarsByColor(红色);cars.forEach(System.out::println);}Testpublic void findCarsByColorAndBrand(){ListCar cars carService.findByColorAndBrand(红色,BYD);cars.forEach(System.out::println);}Testpublic void findCarsByColorOrBrand(){ListCar cars carService.findByColorOrBrand(红色,BYD);cars.forEach(System.out::println);}Testpublic void findByPage(){Page page carService.findByPage(1, 3);page.forEach(car - {System.out.println(car);});}Testpublic void findAll(){ListCar all carService.findAll();all.forEach(car - {System.out.println(car);});}Testpublic void findLike(){ListCar all carService.findByBrandLike(B%);all.forEach(car - {System.out.println(car);});}Testpublic void orderByPrice(){ListCar all carService.orderByPrice();all.forEach(car - {System.out.println(car);});}public static void main(String[] args) {double random Math.round(Math.random() * 100) / 100.0;System.out.println(random);}}总结 1.jpa是啥java持久层的apiSpringBoot官方支持 2.约定大于配置的理念增删改查savedeleteByIdfindAll 3.多条件查询andorlike约定大于配置 4.多对一的查询ManyToOne
http://wiki.neutronadmin.com/news/233880/

相关文章:

  • 响应式网站怎么做pc端的上海有哪些软件公司
  • 如何看别人网站用什么做的组网方案
  • 国内优秀的响应式网站宁波公司注销流程
  • 本机可以做网站的服务器快速建站php
  • 北京的p2p网站建设成都网站系统开发
  • 京东网站 用什么做的什么叫网站根目录
  • 怎么查看自己网站有没有被百度收录重庆网站建设公司价钱
  • WordPress自动建站成都网站建设哪家强
  • 舆情网站直接打开南宁模板网页制作
  • 汽车网站模板wordpress单选框
  • 巩义网站建设与制作企业网站的建设与实现
  • 陕西省建设厅官网查询宁波seo关键词引流
  • 海纳企业网站建设模板点手机域名注册局官网
  • 做网站全自动cpa引流怎么做推广和宣传
  • 外贸类网站建设软文公司代写
  • 网站运营案例商场建设相关网站
  • 重庆建新建设工程有限公司网站做lgoo的网站一般有哪些
  • 郑州轨道网站开发网站备案需要准备什么材料
  • 贵阳市城乡建设部网站在线图片修改
  • 安阳市建设工程领域网站seo优化技术厂家
  • 做房产网站接不到电话wordpress在线解析
  • 自学网站开发多久建立个人网站
  • 建设图书馆网站建设网站赚钱猛兽领主
  • 做网站的是如何赚钱的做网站付款会有凭证吗
  • 如何做购物网站的后台金华建设网站的公司
  • 青岛建网站类似58同城网站建设多少钱
  • 做毕设最常去的几个网站南京网站托管网络营销外包
  • 高端网站建设的方案网站后期推广是谁来做
  • 那个网站有帮人做图的邯郸市公司
  • 潍坊网站空间虚拟资源下载源码wordpress