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

制作企业网站的app产品质量推广营销语

制作企业网站的app,产品质量推广营销语,十大博客网站,电商网站开发的目的是目录 Dao层的作用Dao层的特点与 Service 层和 Controller 层的关系实例介绍MenuDaoOperatorLogDaoRoleDaoUserDao四个文件的共同点引用的包使用Repository注解继承JpaRepository接口接口的实体类的主键类型使用 Query()注解 Dao层的作用 负责与数据库进行交互,主要…

目录

  • Dao层的作用
  • Dao层的特点
  • 与 Service 层和 Controller 层的关系
  • 实例介绍
    • MenuDao
    • OperatorLogDao
    • RoleDao
    • UserDao
    • 四个文件的共同点
      • 引用的包
      • 使用`@Repository`注解
      • 继承`JpaRepository`接口
      • 接口的实体类的主键类型
      • 使用 @Query()注解

Dao层的作用

  • 负责与数据库进行交互,主要负责数据的查询和更新
  • Dao层用于封装数据库访问的细节为上层业务逻辑提供数据操作服务

Dao层的特点

  1. Dao 层是独立的,与 Service 层和 Controller 层无直接关系,便于维护和扩展。
  2. 使用面向接口编程,提高代码的灵活性和可扩展性。
  3. Dao层通常指的是数据访问对象(Data Access Object)层,它通常是一个接口,而不是一个类。
  4. 使用接口而不是类,可以实现松耦合方便替换不同的数据库实现

与 Service 层和 Controller 层的关系

  1. Dao 层位于 Service 层和 Controller 层之间,负责数据的查询和更新。
  2. Service 层调用 Dao 层的方法,进行数据的操作。
  3. Controller 层负责处理 HTTP 请求,调用 Service 层的方法,最终返回给前端页面。

实例介绍

MenuDao

package hanshuhuan.test.dao.admin;import hanshuhuan.test.entity.admin.Menu;import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;@Repository
public interface MenuDao extends JpaRepository<Menu, Long> {//从`Menu`表中选择所有`id`等于`:id`的记录@Query("select m from Menu m where m.id = :id")//它接收一个`Long`类型的参数`id`//使用上面定义的查询语句来查找`Menu`表中`id`等于`:id`的记录//如果找到了这样的记录,就返回这个记录;如果没有找到,就返回一个空的`Menu`对象Menu find(@Param("id")Long id);
}

OperatorLogDao

package hanshuhuan.test.dao.admin;
import java.util.List;import hanshuhuan.test.entity.admin.OperaterLog;import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;@Repository
public interface OperatorLogDao extends JpaRepository<OperaterLog, Long> {@Query("select ol from OperaterLog ol where id =:aaid")OperaterLog find(@Param("aaid")Long id);@Query(value="select * from hansh_operator_logs order by creat_time desc limit 0,:size",nativeQuery=true)List<OperaterLog> findLastestLog(@Param("size")int size);
}

RoleDao

package hanshuhuan.test.dao.admin;
import hanshuhuan.test.entity.admin.Role;import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;@Repository
public interface RoleDao extends JpaRepository<Role, Long> {@Query("select r from Role r where r.id = :id")Role find(@Param("id")Long id);
}

UserDao

package hanshuhuan.test.dao.admin;import hanshuhuan.test.entity.admin.User;import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;@Repository
public interface UserDao extends JpaRepository<User, Long>{public User findByUsername(String username);@Query("select u from User u where id = :id")public User find(@Param("id")Long id);
}

四个文件的共同点

引用的包

  • 都有一个相应的实体【MenuDao-Menu】【OperatorLogDao-OperatorLog】【RoleDao-Role】【UserDao-User】。

使用@Repository注解

  • @Repository注解在Spring框架中用于标记数据访问层(DAL)的类,当使用这个注解时,Spring会自动将这些类注册为Bean,并在需要时自动注入到其他Bean中【通过使用Spring Boot的Bean,开发者可以更轻松地管理和配置应用程序的组件】。在相应的DAO类上使用@Repository注解,Spring会自动管理这些类的生命周期,并在需要时自动注入到其他需要使用这些DAO类的类中。

继承JpaRepository接口

  • JpaRepository是一个用于简化数据库操作的接口,它提供了基本的增删查改方法。

接口的实体类的主键类型

  • 均为Long<>表示泛型参数的类型,这个泛型参数的作用是限制该接口的方法只能操作主键类型为Long的实体类,以确保方法的返回值和参数类型的一致性。

使用 @Query()注解

  • @Query() 是一个用于在 Spring Data JPA中定义查询方法的注解。它可以用于自定义基于实体类的查询方法,允许在方法上定义一些元数据来描述查询,例如查询名称、查询类型、查询条件等。
  • 使用 @Query() 的语法如下:
@Query(query = "SELECT * FROM entity WHERE id = :id", nativeQuery = true)  
List<Entity> findById(@Param("id") Long id);  

其中,query 属性用于指定查询语句,可以包含占位符来表示参数值。如果需要使用 nativeQuery 属性,则必须将 nativeQuery 属性设置为 true,并且查询语句必须使用 JPQL 或 SQL 方言。

http://www.mmbaike.com/news/105136.html

相关文章:

  • 为什么大公司不用c 做网站cilimao磁力猫搜索引擎
  • 推荐网站建设服务商微信推广费用一般多少
  • dw做网站怎么让文字移动优化 英语
  • 常州微信网站建设教程培训机构退费法律规定
  • 用来做问卷调查的网站百度安装
  • 科技类公司网站设计小程序推广运营的公司
  • 宝鸡做网站公司电话网站开发流程的8个步骤
  • 中央广播电视总台地址温州云优化seo
  • 公司网站微信推广东莞网站建设推广技巧
  • 平面设计类网站有哪些跨境网站建站
  • 怎么做卖东西的网站东莞最新疫情
  • 极致cms模板seo搜索优化公司报价
  • 网站滚动效果怎么做济南seo网站关键词排名
  • 九江哪里做网站百度关键词排名查询工具
  • 用vs2008做网站教程你对网络营销的理解
  • 忘了网站链接怎么做企业网站营销的实现方式
  • 江苏商城网站建设seo网站关键词优化排名
  • 网站开发有前景吗网站seo排名优化价格
  • 广告宣传单页制作网站建设网络推广seo
  • 前端开发做什么轻松seo优化排名
  • 专业做网站开发windows优化软件
  • 门户网站模版搜索引擎优化seo方案
  • wordpress增加内存惠州百度seo地址
  • 沙漠网站建设百度竞价排名的利与弊
  • 网站管理系统怎么做移动网站如何优化排名
  • 网站建设课程心得体会百度客服工作内容
  • 企业网站的建设 英文摘要谷歌搜索引擎镜像
  • 网站蜘蛛爬行google app
  • 石家庄网站制作招聘实体店怎么推广引流
  • 桂林什么公司做网站推广好bt磁力王