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

南宁房地产最新消息seowhy培训

南宁房地产最新消息,seowhy培训,什么做直播网站好,做设计找参考的设计网站有那些最近接了一个项目,说是项目其实也不算是项目,因为是把这个项目赛到其他项目中的。 熟悉一些这个项目的功能,梳理了一下,在代码开发中主要关心pojo、entity、respository、controller、service。 在这里主要记录前3个的流程与作用…

最近接了一个项目,说是项目其实也不算是项目,因为是把这个项目赛到其他项目中的。

熟悉一些这个项目的功能,梳理了一下,在代码开发中主要关心pojo、entity、respository、controller、service

在这里主要记录前3个的流程与作用。后面两个就不管了,任何开发技术中都比较常见。

1.pojo层

在这个项目中,pojo常被用来接受前端传入的数据,其实上是一个只包含get、set的java普通对象(没有任何注解与其他方法)。方便前端传入表单数据,通常有时候有@Responsebody在control层中修饰一下序列化。

2.entity层

这个主要涉及到java Persistence(持久化) api。在entity层中,每个类都包含一些注解,例如:

@Generated( value = {"http://www.jooq.org","jOOQ version:3.9.0"},comments = "This class is generated by jOOQ"
)@Entity
@Table(name = "table1")
@NamedQuery(name="xxxx.xx", query="SELECT * FROM table1 where table1.name = ?1")
public class CarCollectInfo implements Serializable{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Transientprivate String stattype;@Temporal(TemporalType.TIMESTAMP)private Date  inserttime;@Column(name = "data_name")private String name;
}
@Generated注解

表明该地方由其他工具生成,无实际意义。

@Entity、@Table、@NameQueries、@NameQuery

@Entity注解和@Table注解都是Java Persistence API中定义的一种注解。

  • @Entity说明这个class是实体类,并且使用默认的orm(Object-Relational Mapping)规则,即class名就是数据库表中表名,class的属性名即表中字段名。@Entity注解指明这是一个实体Bean。
  • @Table注解是一个非必须的注解,@Table注解指定了Entity所要映射的数据库表,其中@Table.name()用来指定映射表的表名。如果同时使用了@Entity(name="student")@Table(name="book"),最终对应的表名是book,这说明优先级:@Table>@Entity
  • @NameQueries用于定义查询多个,@NameQuery用于定义单个命名查询。类似于Query

Spring Data JPA 从入门到精通~@NamedQueries预定义查询

  • @Id注解用于映射实体类中的主键字段。标识表的主键:
  • @GeneratedValue(strategy = GenerationType.IDENTITY) 主键生成策略。自增
  • 当POJO有属性不需要映射的时候一定要用@Transitent修饰,该注释表示此属性与表没有映射关系,只是一个暂时的属性。
  • @Column,标识了class类属性和数据库表字段映射关系。

@Entity、@Table、@Column、@Id、@PropertyDef的见解

@Entity和@Table的区别:

@Entity说明这个class是实体类,并且使用默认的orm规则,即class名即数据库表中表名,class字段名即表中的字段名

如果想改变这种默认的orm规则,就要使用@Table来改变class名与数据库中表名的映射规则,@Column来改变class中字段名与db中表的字段名的映射规则
orm:
ORM是对象关系映射(Object-Relational Mapping)的缩写
就是把数据库中的表映射为java的类,表中的记录映射为java的对象,列映射为java类中的属性
该框架可以在不写SQL语句的前提下完成对单表的CRUD操作
关于@Entity和@Table注解的用法详解

3.Repository层

repository层在我看来,类似于mybatis那里。control层处理接口,service层处理逻辑,repository和mybatis处理sql与数据。

在这个项目中,Repository全是以接口的形式表现出来,继承自一个MyRepository类,MyRepository为继承PagingAndSortingRepository的自定义类,包含对于泛型的增删改查。

public interface BaseBranchRepo extends MyRepository<BaseBranch, Integer>{//这段sql语句就是通过branchcode查询并返回BaseBranch对象。@Query(value="from BaseBranch where branchcode = ?1 ")BaseBranch findBaseBranch(String branchcode);
}

然后在serviceImpl层中将BaseBranchRepo 进行@Autowired。其实核心还是用EntityManager em;执行sql语句返回结果(list或map)。

重要注解:

  • @Transactional 将方法打包成一个事务,便于回滚之类的。
  • @NoRepositoryBean 该注释充当 Spring Data JPA 中的标记接口。当应用于存储库接口时,它指示 Spring Data JPA 不要为该接口创建具体的存储库 bean。相反,它旨在用作其他存储库接口的超类,提供可继承的通用功能。
    使用 @NoRepositoryBean 简化数据库访问
http://www.tj-hxxt.cn/news/72387.html

相关文章:

  • 服装网站网络建设和硬件资源宁波seo教程
  • 投票网页怎么制作重庆网站优化
  • 网站开发定制2022最新热点事件及点评
  • 网站建设公众号开软文写作实训总结
  • 织梦cms做网站怎么样百度快照和广告的区别
  • 电子政务系统网站建设的基本过程今日刚刚发生新闻事件
  • 用wordpress制作网站模板下载app接入广告变现
  • 建设一个网站需要考虑什么磁力天堂最佳搜索引擎入口
  • 腾讯分分彩做号网站html网页制作软件有哪些
  • SEO参与网站建设注意影视网站怎么优化关键词排名
  • 做网站每个月可以赚多少钱软文推广平台有哪些
  • 贵阳seo网站推广优化我想做网络推广找谁
  • 北京网站维护公司百度推广怎么注册账号
  • wordpress 优秀的博客主题简洁谷歌关键词排名优化
  • 创立制作网站公司关键词完整版
  • 网站做产品的审核武汉网络推广公司
  • 泉州公司网站建设个人网站源码免费下载
  • 东莞大朗网站建设公司北京环球影城每日客流怎么看
  • 怎么建立淘宝客网站产品怎么在网上推广
  • 做php网站教程黄山网站seo
  • 职业生涯规划大赛官网报名优化器
  • 高级网站建设网络营销意思
  • 漳浦县网站建设百度客服人工服务
  • 做电影方面的网站怎么做百度网盘资源共享
  • 国外的网站可以做百度推广吗百度后台管理
  • 网站域名空间租用合同排名优化怎么做
  • 湖北专业的网瘾戒除学校如何教育湖南正规seo公司
  • 优惠卷网站怎么做推广推广网站免费
  • 杭州怎么做网站谷歌浏览器官网下载
  • 达州市网站建设信息发布推广平台