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

番禺网站公司内容营销的经典案例

番禺网站公司,内容营销的经典案例,北京网站优化经理,网站开发从什么学起Repository 是Spring注解#xff0c;标识数据访问层组件#xff08;DAO, Data Access Object#xff09; 当一个类被标记为 Repository 时#xff1a; 1、组件扫描与自动代理#xff1a; Spring通过组件扫描#xff08;Component Scan#xff09;机制发现带有 Reposit… Repository 是Spring注解标识数据访问层组件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 JpaRepositoryUser, 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 JpaRepositoryUser, Long { }Repository public interface OrderRepository extends JpaRepositoryOrder, Long { } 使用Spring Data REST配合Repository import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository;Repository public interface ProductRepository extends CrudRepositoryProduct, Long {// Spring Data JPA自动提供CRUD操作无需编写SQL或查询方法ListProduct findByCategory(Category category);// 自定义查询方法Query(SELECT p FROM Product p WHERE p.name LIKE %:name%)ListProduct 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 R2dbcRepositoryProduct, Long {FluxProduct findByCategory(String category);Query(SELECT * FROM products WHERE name LIKE $1)FluxProduct findByNameLike(String namePattern); }
http://www.w-s-a.com/news/680646/

相关文章:

  • 天津高端网站制作建网站的公司服务
  • 温州网站推广优化类似淘宝的网站怎么做的
  • 网站建设实训考试什么网站做玩具的比较多
  • 上海网站建设特点怎样给公司做一个网站做推广
  • 流量网站怎么做的济南优化排名公司
  • 保定网站制作套餐设计师导航网站大全
  • 惠州 商城网站建设石家庄新闻广播在线收听
  • 洪山网站建设域名购买之后怎么做网站
  • 北京网站建设公司服务哪家好wap是什么意思?
  • 怎么看公司网站做的好不好哦wordpress页面目录下
  • 做装修业务呢有多少网站平台搭建是什么
  • 潍坊优化网站排名淘宝做网站被骗
  • 建设专业网站的利弊免费logo设计生成器下载
  • 怎么在备案号添加网站网页设计动画网站
  • 网站开发 只要wordpress滑动注册
  • 跨境电商运营主要做什么静态网站如何做优化
  • 南充网站建设网站网站备案安全责任书是谁盖章
  • 怎么将网站设置为首页网站子目录怎么做
  • 做网站交互wordpress信息导出
  • 如何自己做企业网站做外贸登录国外网站
  • 郑州炫彩网站建设网站集约化建设调研报告
  • 2016年两学一做教育网站优良的定制网站建设制作商
  • 自己做网站需要哪些流程网站建设服务费如何做会计分录
  • 莆田建站培训用手机制作游戏的app软件
  • 中山建网站找哪家wordpress采集图片插件
  • 网站首页做后台链接有什么好用的模拟建站软件
  • 宁波有没有开发网站的公司网站上线除了备案还需要什么
  • 网站备案授权wordpress默认主体设置
  • 厦门微信网站广州推广策划公司
  • 集团公司网站开发asp网站怎么运行