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

网站建设图片代码凯里市黎升网络推广公司

网站建设图片代码,凯里市黎升网络推广公司,雕塑网站模板,佳木斯建设网站文章目录 为什么要整合Spring和MyBatis#xff1f;步骤一#xff1a;添加依赖步骤二#xff1a;配置数据源步骤三#xff1a;配置MyBatis步骤四#xff1a;创建Mapper接口和XML文件步骤五#xff1a;使用Mapper接口拓展#xff1a;事务管理 #x1f389;通过Spring整合… 文章目录 为什么要整合Spring和MyBatis步骤一添加依赖步骤二配置数据源步骤三配置MyBatis步骤四创建Mapper接口和XML文件步骤五使用Mapper接口拓展事务管理 通过Spring整合MyBatis实现持久层操作 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒✨博客主页IT·陈寒的博客该系列文章专栏架构设计其他专栏Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习文章作者技术和水平有限如果文中出现错误希望大家能指正 欢迎大家关注 ❤️ Spring和MyBatis是Java开发中两个非常重要的框架它们分别负责实现轻量级的控制反转IoC和面向切面AOP的Spring以及数据持久化的MyBatis。通过整合Spring和MyBatis我们可以充分发挥它们的优势实现更加灵活和高效的应用程序。本文将介绍如何通过Spring整合MyBatis以及在整合过程中常见的配置和使用方法。 为什么要整合Spring和MyBatis 在传统的Java EE开发中数据访问层和业务逻辑层往往需要通过独立的框架进行处理。Spring框架提供了IoC容器和AOP机制使得应用程序更加模块化和可维护。而MyBatis是一个优秀的持久化框架通过SQL映射文件将Java对象映射到数据库表提供了便捷的数据库访问方式。整合Spring和MyBatis可以充分利用两者的优势提高开发效率降低维护成本。 步骤一添加依赖 首先我们需要在项目中添加Spring和MyBatis的相关依赖。如果使用Maven进行项目管理可以在pom.xml文件中添加如下依赖 !-- Spring -- dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.10.RELEASE/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.3.10.RELEASE/version /dependency!-- MyBatis -- dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.2.0/version /dependency这里使用了Spring 5.3.10版本和MyBatis Spring Boot Starter 2.2.0版本你可以根据需要选择合适的版本。 步骤二配置数据源 在Spring整合MyBatis时我们需要配置数据源。可以使用Spring提供的DataSource接口也可以使用第三方库如Druid提供的数据源。以下是一个使用Spring Boot配置数据源的例子 Configuration public class DataSourceConfig {BeanConfigurationProperties(prefix spring.datasource)public DataSource dataSource() {return DataSourceBuilder.create().build();} }这里使用了ConfigurationProperties注解将spring.datasource前缀的配置属性注入到DataSource中实现了数据源的配置。 步骤三配置MyBatis 在整合过程中我们还需要配置MyBatis的SqlSessionFactory和SqlSessionTemplate。SqlSessionFactory是MyBatis的核心接口负责创建SqlSession对象SqlSessionTemplate是MyBatis-Spring的核心类提供了SqlSession的模板化方法。 Configuration MapperScan(basePackages com.example.mapper, sqlSessionFactoryRef sqlSessionFactory) public class MyBatisConfig {Autowiredprivate DataSource dataSource;Beanpublic SqlSessionFactory sqlSessionFactory() throws Exception {SqlSessionFactoryBean factoryBean new SqlSessionFactoryBean();factoryBean.setDataSource(dataSource);return factoryBean.getObject();}Beanpublic SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {return new SqlSessionTemplate(sqlSessionFactory);} }在这里使用MapperScan注解指定了MyBatis的Mapper接口扫描路径并注入了DataSource配置了SqlSessionFactory和SqlSessionTemplate。 步骤四创建Mapper接口和XML文件 在整合Spring和MyBatis后我们可以创建Mapper接口和对应的XML文件定义SQL语句和数据库操作。以下是一个简单的例子 // Mapper接口 public interface UserMapper {User getUserById(int userId); }!-- UserMapper.xml -- mapper namespacecom.example.mapper.UserMapperresultMap idBaseResultMap typecom.example.entity.Userid columnid propertyid jdbcTypeINTEGER/result columnusername propertyusername jdbcTypeVARCHAR/result columnpassword propertypassword jdbcTypeVARCHAR//resultMapselect idgetUserById resultMapBaseResultMapSELECT * FROM user WHERE id #{userId}/select /mapper步骤五使用Mapper接口 最后在Service或Controller中注入Mapper接口并调用其中的方法 Service public class UserService {Autowiredprivate UserMapper userMapper;public User getUserById(int userId) {return userMapper.getUserById(userId);} }通过以上步骤我们完成了Spring和MyBatis的整合。在实际开发中可以根据项目的需求进行更灵活的配置和扩展。 拓展事务管理 在实际项目中为了保证数据的一致性和完整性通常会涉及到事务管理。Spring提供了声明式事务管理的方式通过Transactional注解可以实现方法级别的事务控制。在整合Spring和MyBatis时我们可以借助Spring的事务管理确保数据库操作的原子性。 Service Transactional public class UserService {Autowiredprivate UserMapper userMapper;public User getUserById(int userId) {return userMapper.getUserById(userId);}Transactional(rollbackFor Exception.class)public void updateUser(User user) {// 更新用户信息userMapper.updateUser(user);// 模拟异常触发事务回滚if (user.getUsername().equals(rollback)) {throw new RuntimeException(Rollback!);}} }在上面的例子中通过Transactional注解修饰Service类表示该类的所有方法都将启用事务管理。在updateUser方法中通过Transactional(rollbackFor Exception.class)注解指定了异常回滚的条件当用户名为rollback时会触发事务回滚。 通过整合Spring和MyBatis我们不仅可以充分发挥两者的优势提高开发效率还能通过Spring的事务管理确保数据的一致性。希望本文能够对你理解和应用Spring整合MyBatis有所帮助。 结尾 ❤️ 感谢您的支持和鼓励 您可能感兴趣的内容 【Java面试技巧】Java面试八股文 - 掌握面试必备知识目录篇【Java学习路线】2023年完整版Java学习路线图【AIGC人工智能】Chat GPT是什么初学者怎么使用Chat GPT需要注意些什么【Java实战项目】SpringBootSSM实战打造高效便捷的企业级Java外卖订购系统【数据结构学习】从零起步学习数据结构的完整路径
http://www.zqtcl.cn/news/562236/

相关文章:

  • 做网站一天赚多少钱外贸网站建设排名
  • 一个大型网站建设得多少钱百度成都总部
  • 网站制作公司汉狮网络手机版网站优化
  • 铜川做网站logo 图标 设计
  • 如何做网站的注册页面南京宣传片公司有哪些
  • 中国建设机械教育协会网站网站建设中html中关于图片显示的标签有哪些
  • 网站过期后dede减肥网站源码
  • 营销型 手机网站网站建设方案后期服务
  • 怎么做一个个人网站建网站的八个步骤
  • 淘宝导购网站模版上海网站推广软件
  • 做影视网站引流湖北响应式网站建设费用
  • 网站统计cnzz网站空间有哪些
  • 泉州微信网站开发公司wordpress头像解决
  • 湛江网站建设皆选小罗24专业网站建设 福田
  • 厦门哪些做鲜花的网站门户网站开发设计报告
  • asp.net网站设计分工天津网站开发贴吧
  • 做多语言网站教程南宁vi设计公司
  • 百度联盟 网站备案wordpress 吾爱破解
  • 山西省建设厅网站首页网络营销推广为什么效果不好
  • 建材做网站好吗长沙做网站微联讯点不错
  • 建设小型网站分类门户网站系统
  • 文化馆网站数字化建设介绍138ip地址查询网站
  • 卖汽车的网站怎么做的建设服装网站的论文
  • 网络推广哪个网站好网站建设最低多少钱
  • 怎么在自己电脑做网站北京赛车网站开发
  • 门户网站内容wordpress上下页
  • 长安做英文网站营销型网站搭建
  • 网站开发交接清单seo排名优化方法
  • 各学院二级网站建设通报wordpress注册评论
  • 南通公司做网站无人在线完整免费高清观看