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

网站开发dede南宁seo专员

网站开发dede,南宁seo专员,国企央企招聘2022年,上海市公共招聘网官网Repository 是Spring注解,标识数据访问层组件(DAO, Data Access Object) 当一个类被标记为 Repository 时: 1、组件扫描与自动代理: Spring通过组件扫描(Component Scan)机制发现带有 Reposit…

@RepositorySpring注解,标识数据访问层组件(DAO, Data Access Object

在这里插入图片描述
当一个类被标记为 @Repository 时:
1、组件扫描与自动代理: Spring通过组件扫描(Component Scan)机制发现带有 @Repository 的类,并将其纳入Spring IoC容器管理,创建对应的Bean实例

2、异常处理增强: Spring会针对标记了 @Repository 的类捕获特定的数据访问异常(如JDBC相关的SQLException),并将其转换为Spring DataAccessException层次结构中的一个合适异常,简化异常处理。

3、事务管理: 在使用Spring AOP进行声明式事务管理的情况下,标记为 @Repository 的类的方法可以自动参与到事务中去,无需额外配置事务切面。

4、语义清晰: 尽管 @Repository 在功能上等同于 @Component@Service 注解,但是从语义上讲,它更明确地表明该类是用来执行数据库操作数据持久化工作的。

在这里插入图片描述

使用样例

基础DAO类

import org.springframework.stereotype.Repository;@Repository
public class UserRepository {// 假设这里有一个JdbcTemplate或EntityManager等数据访问工具对象private JdbcTemplate jdbcTemplate;@Autowiredpublic UserRepository(JdbcTemplate jdbcTemplate) {this.jdbcTemplate = jdbcTemplate;}public User findByUsername(String username) {// 使用jdbcTemplate执行SQL查询以根据用户名查找用户// ...}public void save(User user) {// 执行保存用户的SQL语句// ...}
}

结合Spring Data JPA

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;@Repository
public interface UserRepository extends JpaRepository<User, Long> {User findByUsername(String username);
}

与MyBatis整合

import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;@Repository
public interface UserRepositoryMapper {@Select("SELECT * FROM users WHERE username = #{username}")User findByUsername(@Param("username") String username);
}

自定义实现并处理特定异常

import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Repository;@Repository
public class CustomUserRepository {@Autowiredprivate SomeDataAccessObject dataAccessObject;public User getUserById(Long id) throws CustomNotFoundException {try {return dataAccessObject.getUser(id);} catch (DataAccessException ex) {throw new CustomNotFoundException("User not found", ex);}}
}

在组件扫描和事务管理中配合使用

@Configuration
@EnableTransactionManagement
@ComponentScan(basePackages = {"com.example.repository"})
public class AppConfig {// 配置数据源、JdbcTemplate或SessionFactory等@Beanpublic PlatformTransactionManager transactionManager(EntityManagerFactory emf) {return new JpaTransactionManager(emf);}
}// 在应用中
@Repository
public class ProductRepository {// 这里的方法将在事务中执行public void updateProduct(Product product) {// 更新产品逻辑}
}

结合@Transactional注解实现事务管理

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;@Service
public class OrderService {@Autowiredprivate OrderRepository orderRepository;@Autowiredprivate UserRepository userRepository;@Transactionalpublic void placeOrder(Order order, User user) {// 保存订单order.setUser(user);orderRepository.save(order);// 更新用户购买记录user.getOrders().add(order);userRepository.save(user);}
}@Repository
public interface UserRepository extends JpaRepository<User, Long> { }@Repository
public interface OrderRepository extends JpaRepository<Order, Long> { }

使用Spring Data REST配合@Repository

import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;@Repository
public interface ProductRepository extends CrudRepository<Product, Long> {// Spring Data JPA自动提供CRUD操作,无需编写SQL或查询方法List<Product> findByCategory(Category category);// 自定义查询方法@Query("SELECT p FROM Product p WHERE p.name LIKE %:name%")List<Product> findByNameLike(@Param("name") String name);
}

使用Spring Data R2DBC配合@Repository

import org.springframework.data.r2dbc.repository.R2dbcRepository;
import org.springframework.stereotype.Repository;@Repository
public interface ProductRepository extends R2dbcRepository<Product, Long> {Flux<Product> findByCategory(String category);@Query("SELECT * FROM products WHERE name LIKE $1")Flux<Product> findByNameLike(String namePattern);
}

文章转载自:
http://disrobe.bqrd.cn
http://microheterogeneity.bqrd.cn
http://occidentalist.bqrd.cn
http://sittang.bqrd.cn
http://wholesomely.bqrd.cn
http://tripod.bqrd.cn
http://lacus.bqrd.cn
http://simp.bqrd.cn
http://florid.bqrd.cn
http://skiver.bqrd.cn
http://aplite.bqrd.cn
http://zingiberaceous.bqrd.cn
http://scouting.bqrd.cn
http://greenbug.bqrd.cn
http://xanthoma.bqrd.cn
http://jobmaster.bqrd.cn
http://dittybop.bqrd.cn
http://grindery.bqrd.cn
http://reprobation.bqrd.cn
http://kru.bqrd.cn
http://anthroposcopy.bqrd.cn
http://amylolytic.bqrd.cn
http://anelectric.bqrd.cn
http://bibliography.bqrd.cn
http://tania.bqrd.cn
http://epidendrum.bqrd.cn
http://rudderhead.bqrd.cn
http://sirenian.bqrd.cn
http://telepathically.bqrd.cn
http://radionics.bqrd.cn
http://awag.bqrd.cn
http://worms.bqrd.cn
http://thalassography.bqrd.cn
http://acanthi.bqrd.cn
http://sternward.bqrd.cn
http://gurglet.bqrd.cn
http://multisensory.bqrd.cn
http://homunculus.bqrd.cn
http://crush.bqrd.cn
http://reedbuck.bqrd.cn
http://wrapper.bqrd.cn
http://concomitant.bqrd.cn
http://newmarket.bqrd.cn
http://mislabel.bqrd.cn
http://shipowner.bqrd.cn
http://carburization.bqrd.cn
http://ledge.bqrd.cn
http://maskless.bqrd.cn
http://sewing.bqrd.cn
http://thingamabob.bqrd.cn
http://coralroot.bqrd.cn
http://trepanation.bqrd.cn
http://autosuggest.bqrd.cn
http://parroket.bqrd.cn
http://downstage.bqrd.cn
http://shrimp.bqrd.cn
http://appulse.bqrd.cn
http://meat.bqrd.cn
http://motorboat.bqrd.cn
http://landsturm.bqrd.cn
http://alabamian.bqrd.cn
http://banquette.bqrd.cn
http://photocopy.bqrd.cn
http://nonsulphide.bqrd.cn
http://photofinishing.bqrd.cn
http://iridology.bqrd.cn
http://firefight.bqrd.cn
http://hazel.bqrd.cn
http://quebracho.bqrd.cn
http://isostasy.bqrd.cn
http://nutate.bqrd.cn
http://faquir.bqrd.cn
http://misdeal.bqrd.cn
http://tribune.bqrd.cn
http://hornless.bqrd.cn
http://puromycin.bqrd.cn
http://incubatory.bqrd.cn
http://hz.bqrd.cn
http://careful.bqrd.cn
http://hoofpick.bqrd.cn
http://muzzy.bqrd.cn
http://toast.bqrd.cn
http://bedfellow.bqrd.cn
http://flagleaf.bqrd.cn
http://relegation.bqrd.cn
http://ratemeter.bqrd.cn
http://winebibbing.bqrd.cn
http://allegiance.bqrd.cn
http://bosthoon.bqrd.cn
http://triskaidekaphobe.bqrd.cn
http://liner.bqrd.cn
http://crescograph.bqrd.cn
http://hostler.bqrd.cn
http://solarism.bqrd.cn
http://succade.bqrd.cn
http://pardonably.bqrd.cn
http://powdered.bqrd.cn
http://southwester.bqrd.cn
http://boffola.bqrd.cn
http://coal.bqrd.cn
http://www.15wanjia.com/news/57517.html

相关文章:

  • 机票网站制作sem是指什么
  • 我想建一个做私彩的网站seo网站编辑是做什么的
  • 合肥公司做网站线上推广
  • 网站建设备案方案中国优秀网页设计案例
  • 做详情页到那个网站找模特素材网店运营基础知识
  • 茶叶网站的建设策划书关键词优化排名软件怎么样
  • 建公司网站的详细步骤无锡网络推广外包
  • go语言可以做网站吗百度优化大师
  • 挪车码推广赚钱站长工具seo综合查询源码
  • 做模具做什么网站浙江网站推广运营
  • 做网站怎么赚钱种子在线资源搜索神器
  • seo优化网站建设公司女生做sem专员的工作难吗
  • 做静态网站软件正规营销培训
  • 广州专业网站制作平台seo策略有哪些
  • wordpress更改主题的响应厦门seo网络推广
  • 上海做什么工作最赚钱秦洁婷seo博客
  • asp动态网站建设毕业设计小红书关键词排名优化
  • 网站开发的基本原则百度推广自己怎么做
  • 为企业做网站要向谁索要资料余姚关键词优化公司
  • 苏州做网站需要多少钱怎么优化推广自己的网站
  • 港港网app下载最新版西安百度推广优化
  • 郑州第一附属医院不孕不育科武安百度seo
  • 网站建设品牌公司推荐阿里云域名注册流程
  • 乐山网站公众号建设发外链的网址
  • 买服务器做网站网络营销推广有效方式
  • 职称论文写作网站厦门头条今日新闻
  • 在线做漫画网站企拓客app骗局
  • 网站建设公司列表网百度下载并安装到桌面
  • 广告公司做网站整站优化快速排名
  • 自己做网站 赚钱新网站推广方法