淘宝店铺网站策划wordpress网站专题

diannao/2026/1/21 3:15:06/文章来源:
淘宝店铺网站策划,wordpress网站专题,中信建设有限责任公司官方网站,住房和城乡建设部网站监理合同前言#xff1a;常用的ORM框架有哪些 JdbcTemplate JdbcTemplate 是Spring框架提供的一个JDBC抽象库#xff0c;旨在简化传统的JDBC操作#xff0c;避免了繁琐的JDBC代码和数据库资源的手动处理。通过JdbcTemplate#xff0c;开发者可以更加专注于业务逻辑而不是数据库的连… 前言常用的ORM框架有哪些 JdbcTemplate JdbcTemplate 是Spring框架提供的一个JDBC抽象库旨在简化传统的JDBC操作避免了繁琐的JDBC代码和数据库资源的手动处理。通过JdbcTemplate开发者可以更加专注于业务逻辑而不是数据库的连接管理和资源释放。 核心特点 简化数据库交互自动处理连接的开启和关闭减少了重复的数据库连接代码。异常处理提供了一个统一的异常处理机制将SQL异常转换为DataAccessException方便异常管理。灵活的查询和更新操作支持直接执行SQL查询和更新操作以及调用存储过程。回调机制通过RowMapper和ResultSetExtractor等回调接口可以将数据库结果集映射到Java对象或集合。 使用场景适用于需要直接使用SQL进行数据操作的场景特别是在需要细粒度控制SQL执行和结果映射时。 Spring Data JPA Spring Data JPA 是对JPAJava Persistence API的进一步封装和整合目的是简化JPA的使用和提高开发效率。Spring Data JPA通过提供repository抽象层使得数据库操作更加简单。 核心特点 简化数据访问层DAO代码通过扩展JpaRepository接口自动实现了一系列标准的数据访问方法如保存、删除、查询等。查询方法名解析支持通过解析方法名自动生成查询无需编写查询语句。查询注解通过Query注解可以自定义JPQLJava Persistence Query Language或原生SQL查询。事务管理整合了Spring的声明式事务管理。 使用场景适用于JPA项目特别是对于域驱动设计DDD和需要快速开发的应用程序。 MyBatis MyBatis 是一个半ORM对象关系映射框架提供了对象与数据库之间的映射同时保留了编写原生SQL的能力。它避免了JDBC代码的繁琐和手动设置参数、获取结果集的过程同时提供了更多的控制权和灵活性。 核心特点 灵活的SQL编写支持完全的SQL编写使得开发者可以利用数据库的特性如窗口函数、CTE公用表表达式等。动态SQL支持动态SQL语句的构建根据条件拼接不同的SQL片段。映射器MapperXML文件通过XML文件或注解定义SQL语句和映射规则。延迟加载支持关联对象的延迟加载。 使用场景适用于那些需要高度控制SQL语句或数据库设计复杂、需要优化数据库查询性能的项目。 本文重点学会三种方式的CRUD操作 第一步引入pom依赖 !-- MySQL 驱动 -- dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId /dependency !-- Spring Boot Starter for Data JPA -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId /dependency !-- Spring Boot Starter for JdbcTemplate -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId /dependency !-- MyBatis Spring Boot Starter -- dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.1.4/version /dependency第二步配置数据库属性 spring.datasource.urljdbc:mysql://xxxx:3306/nextJava?useSSLfalseserverTimezoneUTC spring.datasource.usernameroot spring.datasource.password123456# JPA特有配置 spring.jpa.hibernate.ddl-autoupdate spring.jpa.show-sqltrue# MyBatis特有配置 mybatis.mapper-locationsclasspath:mappers/*.xml 第三步代码实现 使用JdbcTemplate Repository public class UserRepository {Autowiredprivate JdbcTemplate jdbcTemplate;// 增public int save(User user) {return jdbcTemplate.update(INSERT INTO user(name, email) VALUES(?, ?),user.getName(), user.getEmail());}// 删public int deleteById(Long id) {return jdbcTemplate.update(DELETE FROM user WHERE id ?, id);}// 改public int update(User user) {return jdbcTemplate.update(UPDATE user SET name ?, email ? WHERE id ?,user.getName(), user.getEmail(), user.getId());}// 查public User findById(Long id) {return jdbcTemplate.queryForObject(SELECT * FROM user WHERE id ?,new Object[]{id},(rs, rowNum) -new User(rs.getLong(id),rs.getString(name),rs.getString(email)));} } 2、使用Spring Data JPA Entity public class User {IdGeneratedValue(strategy GenerationType.IDENTITY)private Long id;private String name;private String email;// Constructors, Getters and Setters } 使用Spring Data JPA只需要定义接口继承JpaRepository即可自动拥有增删改查功能 public interface UserRepository extends JpaRepositoryUser, Long { } 3、使用Mybatis 在src/main/resources/mappers目录下创建MyBatis的映射文件UserMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.example.mapper.UserMapperinsert idsave parameterTypecom.example.model.UserINSERT INTO user(name, email) VALUES(#{name}, #{email})/insertdelete iddeleteById parameterTypelongDELETE FROM user WHERE id #{id}/deleteupdate idupdate parameterTypecom.example.model.UserUPDATE user SET name #{name}, email #{email} WHERE id #{id}/updateselect idfindById parameterTypelong resultTypecom.example.model.UserSELECT * FROM user WHERE id #{id}/select /mapper 以及Mapper类 Mapper public interface UserMapper {void save(User user);void deleteById(Long id);void update(User user);User findById(Long id); } 对应表创建语句为 CREATE TABLE IF NOT EXISTS User (id BIGINT(20) NOT NULL AUTO_INCREMENT,name VARCHAR(255) NOT NULL,email VARCHAR(255) NOT NULL,PRIMARY KEY (id),UNIQUE KEY email_unique (email) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci; 结束语 无论是使用JdbcTemplate来直接操作数据库还是利用Spring Data JPA和MyBatis这样的ORM框架来简化数据持久层的开发Spring Boot都以其约定优于配置的理念让开发者能够集中精力于业务逻辑的实现而不是纠结于繁琐的配置和底层实现细节。下一节我们来学习一下事务管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做直播网站软件有哪些软件有哪些seo网站关键词优化报价

#undef 是在后面取消以前定义的宏定义 该指令的形式为 #undef 标识符 其中,标识符是一个宏名称。如果标识符当前没有被定义成一个宏名称,那么就会忽略该指令。一旦定义预处理器标识符,它将保持已定义状态且在作用域内,直到程序结束…

母婴网站建设初衷2018做网站 工具

观察者模式监听判断dom元素是否在可视区域内 本项目是使用vue3的写法。 1.IntersectionObserver IntersectionObserver可以用来自动监听元素是否进入了设备的可视区域之内,而不需要频繁的计算来做这个判断。由于可见(visible)的本质是&…

蔡家坡网站开发html网页制作步骤

给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。 输入格式: 输入在一行中给出A。 输出格式: 输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔&#…

有没有做catalog的网站大连网站建设找哪家好

题目 幼儿园里有 N 个小朋友,老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。 但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候&#xff…

服务器对应的网站开发语言太姥山镇建设的网站

思维导图:https://www.processon.com/view/link/5f0a6983e401fd0c8fffa75b

做网站要懂哪些杭州工程网站建设

前言大家应该都知道,整数包括负数,零,和正数。在Java中,基本类型中byte(8位)、short(16位)、int(32位)、long(64位)属于整数,并且没有无符号数,均是有符号的。对于计算机来说,它只认识二进制&am…

什么网站的地图厦门 网站优化

本节课主要是跟着教程做的,操作的东西放到作业里记录了。 这里主要记录一些视频里讲的非操作性的东西。 RAG外挂知识库?优点是成本低,不用重新训练 RAG的一个整体流程。 涉及了文本相似度匹配,是不是和传统的问答系统&#xff0…

石家庄网站建设外包保定网站推广哪家好

IoC按名称查找共分为三类: 按名称按类型按集合 按名称查找 在Spring Framework中,实时加载和延迟加载是指在容器启动时是否立即实例化bean的不同策略。下面我们将分别介绍这两种加载方式及其应用场景。 tips: 当涉及到懒加载和延时加载时&#xff0…

佛山营销网站建设制作石家庄优化seo

Maven环境搭建及配置 1.下载部署 官方网站下载正式版的Maven文件,打开bin目录,复制路径然后去环境变量中的path下配置环境变量, 如果只有一个用户只需要在上面path配置复制的路径,当然也可以直接在下面配置,下面配置默认给所有用户都配置 设置完成打开控…

dede手机医院网站模板下载辽宁省建设注册中心网站

问答系统需求文档 一、项目概述 本项目旨在开发一个能够上传 PDF 文件,并基于 PDF 内容进行问答互动的系统。用户可以上传 PDF 文件,系统将解析 PDF 内容,并允许用户通过对话框进行问答互动,获取有关 PDF 文件内容的信息。 二、…

可商用的设计网站网页设计网站总结报告怎么写

在一些应用领域,电源模块会在极端环境温度条件下工作。为了确保电源在高低温环境下可以正常运行,满足设备需求,需要对电源模块进行温度循环测试。 温度循环测试是指电源模块经过升温、保温、降温等多次循环试验来检测其在温度变化下的耐热性、…

广州网站制作方法公司做网站怎么做

如何判断exe文件是debug还是release编译生成的结论: 用IDA工具打开exe,然后看Imports里面的依赖库是否有带d或D结尾的,如果有就说明是Debug的 实验:(实验环境 vs2017, IDA工具) (0&…

怎么做网站推广临沂网站建设的基本流程包括什么

很多个人站长和中小企业在做网站的时候,会选择虚拟主机。虚拟主机用的操作系统多为Windows系统,很多人一提到操作系统立马联想到Windows系统。其实除了Windows系统外,还有很多的操作系统。其中Linux系统是其中的佼佼者。 1、操作系统 window…

泰安润泽建设工程有限公司网站做购物网站怎么赚钱

一直都是编译armabi的。没有不论什么问题,这个架构是软件模拟浮点运算的。后来看到NDK文档上说armabi-v7a是针对有硬件处理浮点计算的arm cpu的。 于是就改动配置编译armebai-v7a的so文件。 结果是编译没问题。一执行就是crash掉,Fatal signal 7 (SIGSEG…

做摄影哪个网站12306网站建设投标书

目录 第一章、代码①trim() 方法以及(Arrays.asList(str.split(reg)));②查询字典项 第二章、注解①PropertySource("classpath:coremail.properties") 第三章、小知识①Linux系统中使用$符号表示变量 友情提醒: 先看文章目录,大致了解文章知识点结构&am…

淘宝上的网站建设为什么便宜天猫网站是用什么技术做的

实验需求 拓扑 实验注意点: 先配置双机热备,再来配置安全策略和NAT两台双机热备的防火墙的接口号必须一致如果其中一台防火墙有过配置,最好清空或重启,不然配置会同步失败两台防火墙同步完成后,可以直接在主状态防火墙…

深圳做响应式网站制作上海网站推广网络公司

在进行linux测试时编写脚本是必不可少的。最近经常使用Linux,感觉太频繁地敲击键盘有些累了,于是想到了Shell脚本。可以把太多的命令写成一个脚本,这样每次执行一遍 shell文件,就可以省去了敲击键盘的时间。于是在网上搜了一些有…

杭州建设网站设计的公司北京故宫网页设计

<style type"text/css">font-face{font-family:myFont;src:url(/bootstrap-3.3.7-dist/fonts/shishangjianti.ttf);}body{font-family: myFont !important;}</style> .ttf的文件路径根据文件位置定义

如何制作手机版网站厦门网络推广建网站

电脑网页的设计尺寸是多少刚入门的网页设计师可能对电脑网页的设计尺寸大小存在疑问&#xff0c;以下百分网小编整理的电脑网页的设计尺寸&#xff0c;希欢迎阅读!  对大于30W台客户端用户进行测试&#xff0c;得到的测试数据如下(数据来源于网络)&#xff1a;安全分辨率为10…

花钱做网站注意些什么什么是电商行业

背景早在linux操作系统诞生开始&#xff0c;c语言作为linux系统的编程语言主力&#xff0c;它为后续的其他高级编程语言(如c、java)提供了很多语言级的语义和协议规范。数组做为linux操作系统最基本的数据结构之一&#xff0c;便是其中的一项语言级高级特性&#xff0c;深入理解…