网站建设简单点的wordpress带登陆主题

张小明 2026/3/2 23:04:13
网站建设简单点的,wordpress带登陆主题,家庭 wordpress,手机制作app模板Spring JDBC 与 JdbcTemplateSpring JDBC 是Spring所提供的持久层技术#xff0c;用于简化数据库操作的一个模块#xff0c;以一种更简洁#xff0c;更直接的方式使用 JDBC API 简化了开发人员对数据库的操作。JdbcTemplate 则是 Spring JDBC 模块中最核心的类#xff0c;是…Spring JDBC 与 JdbcTemplateSpring JDBC 是Spring所提供的持久层技术用于简化数据库操作的一个模块以一种更简洁更直接的方式使用 JDBC API 简化了开发人员对数据库的操作。JdbcTemplate 则是 Spring JDBC 模块中最核心的类是该模块的主要实现者是对原始繁琐的 Jdbc API 对象的简单封装提供了增删改查CRUD的便捷实现是开发者使用 Spring JDBC 时最常用的工具归纳起来主要有以下几种类型的方法1execute方法可以用于执行任何SQL语句一般用于执行DDL语句。2update用于执行新增、修改与删除等语句。3query用于执行查询相关的语句。下面我们来具体实现 Spring JDBC实现Spring JDBC数据库内容如下pom.xml 添加相关依赖dependencies !-- 统一Spring版本为5.3.21 -- dependency groupIdorg.springframework/groupId artifactIdspring-context/artifactId version5.3.21/version /dependency dependency groupIdorg.springframework/groupId artifactIdspring-test/artifactId version5.3.21/version /dependency dependency groupIdorg.springframework/groupId artifactIdspring-jdbc/artifactId version5.3.21/version /dependency dependency groupIdorg.springframework/groupId artifactIdspring-aspects/artifactId version5.3.21/version /dependency !-- 其他依赖保持不变 -- dependency groupIdjunit/groupId artifactIdjunit/artifactId version4.12/version scopetest/scope /dependency !-- mysql驱动包 -- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version5.1.6/version /dependency !-- AOP联盟 -- dependency groupIdaopalliance/groupId artifactIdaopalliance/artifactId version1.0/version /dependency !-- aspectj -- dependency groupIdorg.aspectj/groupId artifactIdaspectjweaver/artifactId version1.8.3/version /dependency /dependenciesgroupIdorg.springframework 为Spring 官方组织标识spring-contextSpring 核心容器spring-testSpring 测试支持spring-jdbcSpring JDBC 支持spring-aspectsSpring AOP 切面支持mysql-connector-javaMySQL 数据库的 JDBC 驱动使得 Java 程序能够连接 MySQL 数据库aopallianceAOP 联盟规范提供 AOP 接口定义Maven 会根据这个配置自动下载所需的依赖库并按照指定的配置进行项目构建AlipayDao .javapublic interface AlipayDao { public void transfer(String fromA,String toB,int amount); }AliPayDaoImpl .javapublic class AliPayDaoImpl implements AlipayDao { private JdbcTemplate jdbcTemplate; public JdbcTemplate getJdbcTemplate() { return jdbcTemplate; } public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate jdbcTemplate; } Override public void transfer(String fromA, String toB,int amount) { jdbcTemplate.update(update alipay set amountamount-? where aliname?,amount,fromA); jdbcTemplate.update(update alipay set amountamount? where aliname?,amount,toB); } }定义了数据访问层实现类 AliPayDaoImpl主要功能是实现账户间的转账操作 transfer()。JdbcTemplate 是 Spring JDBC 的核心工具类类中定义了 JdbcTemplate 对象并提供了 get/set 方法这是为了通过 Spring 的依赖注入获取 JdbcTemplate 实例。这种通过 setter 方法注入的方式使得 JdbcTemplate 可以由 Spring 容器统一管理无需手动创建。!--配置连接DriverManagerDataSource -- bean iddataSource classorg.springframework.jdbc.datasource.DriverManagerDataSource property namedriverClassName valuecom.mysql.jdbc.Driver/ property nameurl valuejdbc:mysql://localhost:3306/mybatis_demo/ property nameusername valueroot/ property namepassword valueroot/ /bean !-- 配置jdbcTemplate -- bean idjdbcTemplate classorg.springframework.jdbc.core.JdbcTemplate property namedataSource refdataSource/ /bean bean idAliPayDaoImpl classcom.qcby.dao.impl.AliPayDaoImpl property namejdbcTemplate refjdbcTemplate/ /bean /beans这段配置和代码的逻辑是Spring容器先创建数据源dataSource指定数据库连接的驱动、地址、用户名和密码再创建JdbcTemplate实例并关联该数据源Spring 通过 ref 把 dataSource 注入给了 jdbcTemplateSpring调用JdbcTemplate类中的setDataSource方法实现依赖注入使其获得数据库连接能力以操作数据库最后创建AliPayDaoImpl实例把 JdbcTemplate 的属性和 setter 方法定义在 AliPayDaoImpl 内部通过调用AliPayDaoImpl类中的setJdbcTemplate方法将前面创建的JdbcTemplate注入进去这样AliPayDaoImpl就可以利用 JdbcTemplate来执行数据库操作当执行transfer方法时就能利用注入的JdbcTemplate执行两条更新SQL完成从一个账户扣款、向另一个账户加款的转账操作整个过程通过Spring的依赖注入实现了各组件的解耦和自动组装。public class AliPayTest { org.junit.Test public void run(){ ApplicationContext context new ClassPathXmlApplicationContext(Spring.xml); AlipayDao alipayDao (AlipayDao) context.getBean(AliPayDaoImpl);//使用多态 alipayDao.transfer(张三,李四,100); } }实现效果如图此时数据库数据变为此时我们将数据库的数据重置为各是100再将AliPayDaoImpl.java改为这样AliPayDaoImpl.java是有报错的我们来看实现效果此时数据库内容变为即执行了转出而未实现转入与实际情形不符合理的解决方式——添加事务添加事务xml配置的形式Spring.xml!-- 定义事务管理器-- bean idtxManager classorg.springframework.jdbc.datasource.DataSourceTransactionManager property namedataSource refdataSource/ /bean !-- 编写事务通知-- tx:advice idtxAdvice transaction-managertxManager tx:attributes tx:method name* propagationREQUIRED isolationDEFAULT read-onlyfalse/ /tx:attributes /tx:advice !-- 编写AOP让spring自动将事务切入到目标切点-- aop:config !-- 定义切入点-- aop:pointcut idtxPointCut expressionexecution(* com.qcby.dao.impl.AliPayDaoImpl.transfer(..))/ !-- 将事务通知与切入点结合-- aop:advisor advice-reftxAdvice pointcut-reftxPointCut/ /aop:config这段XML配置是Spring框架中实现声明式事务管理的完整配置其核心作用是为com.qcby.dao.impl.AliPayDaoImpl类中的transfer方法自动添加事务控制能力。首先通过标签定义了一个名为txManager的事务管理器其类型为DataSourceTransactionManager专门用于管理JDBC数据源的事务并通过property标签将其与已配置的dataSource数据源关联起来使事务管理器能够操作数据库连接。接着使用定义了名为txAdvice的事务通知该通知关联了前面定义的txManager事务管理器并在中通过设置了事务属性name*表示对匹配的方法都应用该规则propagationREQUIRED指定了事务传播行为为如果当前没有事务则新建一个若已有事务则加入其中isolationDEFAULT表示使用数据库默认的事务隔离级别read-onlyfalse说明这不是只读事务。最后通过进行AOP配置先定义了一个名为txPointCut的切入点其表达式execution(* com.qcby.dao.impl.AliPayDaoImpl.transfer(..))精确匹配AliPayDaoImpl类中的transfer方法再通过将txAdvice事务通知与txPointCut切入点关联起来。这样当transfer方法被调用时Spring会通过AOP自动在方法执行前开启事务若方法正常执行完毕则自动提交事务若出现未捕获的异常则自动回滚事务从而确保转账操作的原子性避免出现数据不一致的情况同时这种配置方式将事务控制逻辑与业务代码分离降低了耦合度提高了代码的可维护性。实现效果注解的形式Spring.xml!-- 定义事务管理器 -- bean idtxManager classorg.springframework.jdbc.datasource.DataSourceTransactionManager property namedataSource refdataSource/ /bean !-- 开启事务注解驱动 -- tx:annotation-driven transaction-managertxManager/其中transaction-managertxManager 指定了该注解驱动要使用的事务管理器是名为 txManager 的 Bean这样注解式事务就能基于该事务管理器实现对数据库事务的控制。启用该配置后开发者只需在需要事务支持的类或方法上添加 Transactional 注解Spring 就会自动为这些方法添加事务功能。AliPayDaoImpl.java其中的重要部分Transactional(propagation Propagation.REQUIRED,isolation Isolation.DEFAULT,readOnly false)propagation 是Spring事务的传播行为它定义了事务方法被另一个事务方法调用时的事务行为。propagation的值有REQUIRED默认如果当前存在事务则在该事务中运行如果没有事务则创建一个新的事务SUPPORTS如果当前存在事务则在该事务中运行如果没有事务则在非事务环境中运行MANDATORY必须在事务中运行如果没有事务则抛出异常isolation 是Spring事务的隔离级别隔离级别定义了一个事务对另一个正在进行的事务所可见的程度隔离级别越高数据库的并发性越差但安全性就越高。Spring支持的事务隔离级别包括DEFAULT使用数据库默认的隔离级别不可重复读READ_UNCOMMITTED允许脏读、不可重复读和幻读READ_COMMITTED避免了脏读但允许不可重复读和幻读REPEATABLE_READ避免了脏读和不可重复读但允许幻读SERIALIZABLE最高的隔离级别避免了所有可能的数据不一致问题但性能最差。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

本地服务网站开发工业设计大学排名前50

【C2000中断Debug】如何定位与调试异常中断 一、问题描述 在 CPU 上支持实时任务需要使用中断。如果外部传感器检测到故障,则需要中断或停止 CPU,以执行能够处理故障的子例程。在此示例中,信号到达 CPU 时中断的时序至关重要。中断是硬件或软件驱动的信号,可导致 CPU 暂停…

张小明 2026/1/21 14:25:22 网站建设

重庆网站建设公司魁网wordpress mysql 设置

训练营简介 2025年昇腾CANN训练营第二季,基于CANN开源开放全场景,推出0基础入门系列、码力全开特辑、开发者案例等专题课程,助力不同阶段开发者快速提升算子开发技能。获得Ascend C算子中级认证,即可领取精美证书,完成…

张小明 2026/1/21 14:24:20 网站建设

淘宝刷单网站开发wordpress手机版主题模板下载

百度网盘提取码智能查询工具:告别繁琐搜索的终极解决方案 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经遇到过这样的情况?朋友分享了一个宝贵的百度网盘资源链接,满怀期待地点开…

张小明 2026/1/21 14:23:50 网站建设

西安网站开发哪家好连云港做网站推广

"Dive into LLMs"是上海交通大学开发的大模型实践教程,获得华为昇腾支持。它解决了大模型学习的七大痛点,提供从微调到安全对齐的全流程内容,包含11个章节,覆盖理论到实践。教程提供课件、代码脚本和实验手册&#xff0…

张小明 2026/1/21 14:23:19 网站建设

网站站点结构图凡科网建站怎么样

开启 WordPress 之旅:从选择到创作 1. 选择 WordPress 的理由 WordPress 已成为新博客和各类网站的首选平台。它是开源软件,自 2003 年起就作为自托管博客程序存在,本书使用的版本为 3.2.1 - 3.3.1。围绕该软件发展起来的 WordPress.org 组织,后来为不想自己托管博客的人…

张小明 2026/1/21 14:22:48 网站建设

最好的做网站公司重庆快速建站

OpenOffice.org软件安装与使用指南 1. OpenOffice.org安装步骤 OpenOffice.org是一款功能强大的办公软件,下面为你详细介绍其安装步骤: 1. 选择标准安装,点击“Next”,进入选择安装目录对话框。你也可以根据需求选择其他安装类型,这里以标准安装为例。 2. 若需要,可在…

张小明 2026/1/21 14:22:17 网站建设