zoukankan      html  css  js  c++  java
  • 9.ORM数据访问

    1.Spring对ORM的支持

    ORM :

    对象关系映射(Object Relational Mapping)
    是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术
    基于ORM的数据持久层框架有:
    Hibernate
    Mybatis
    TopLink……
    Spring框架则支持集成Hibernate,Java Persistent API(JPA)等,用于资源管理、数据访问对象(DAO)的实现和事务策略

    Spring对ORM的支持,使得数据持久层得到显著增强,ORM在Spring容器中也便于配置和部署
    使用Spring框架来创建ORM的DAO,好处有:
    通用的资源管理
    集成事务管理
    统一常见的数据访问异常
    更容易测试

    2.Spring 集成 Hibernate

    配置DataSource:
    增加dbinfo.properties文件,该属性文件可以配置数据库和Hibernate相关配置

    配置DataSource:
    在applicationContext.xml文件中配置DataSource

    数据源也可以配置其他数据库连接池数据源,比如:
    BoneCP
    Druid等

    配置SessionFactory:
    在applicationContext.xml文件中配置sessionFactory

    编写实体Bean
    编写Dao实现类
    添加@Repository
    注入sessionFactory

    在applicationContext.xml配置文件中添加事务配置

     


    编写Service层实现类
    添加@Service
    添加@Transaction
    注入持久层的Dao

    编写Controller实现类
    添加@Controller、@RequestMapping
    注入业务逻辑层Service

     

    以Spring容器来管理项目中各层对象,并实现注入
    注入的顺序是:dataSource->sessionFactory->XXXDao->XXXService
    ->XXXController

    从而实现控制器中调用业务逻辑层,业务逻辑层调用数据持久层,数据持久层借助sessionFactory和dataSource实现对数据的操作

    3.数据校检

    数据校验在项目中被广泛应用,一般分为前端数据校验和后端数据校验
    前端数据校验可以采用JavaScript、Jquery等前端技术
    后端数据校验可以采用JSR303进行数据校验
    JSR303是一个运行时数据校验框架
    它使得验证逻辑从业务代码中脱离出来
    一般用于表单验证

    JSR303提供了以下注解用于字段的验证
    @NotNull 注解元素必须是非空
    @Null 注解元素必须是空
    @Digits 验证数字构成是否合法
    @Future 验证是否在当前系统时间之后
    @Past 验证是否在当前系统时间之前
    @Max 验证值是否小于等于最大指定整数值
    @Min 验证值是否大于等于最小指定整数值
    @Pattern 验证字符串是否匹配指定的正则表达式
    @Size 验证元素大小是否在指定范围内
    @DecimalMax 验证值是否小于等于最大指定小数值
    @DecimalMin 验证值是否大于等于最小指定小数值
    @AssertTrue 被注解的元素必须为true
    @AssertFalse 被注解的元素必须为false

    Hibernate Validator扩展了该注解
    @Email 被注解的元素必须是电子邮箱地址
    @Length 被注解的字符串的大小必须在指定的范围内
    @NotEmpty 被注解的字符串的必须非空
    @Range 被注解的元素必须在合适的范围内

    编写Controller

  • 相关阅读:
    企业如何搭建数据分析平台
    如何查看Android设备上的分区信息
    从传统企业谈大数据的战略意义
    金融行业的BI应用分析
    Android 5.x 权限问题解决方法
    unity使用ugui自制调色面板
    手机模式及分区
    高通8x12平台开机画面制作工具
    Unity插件
    Android开发小问题集
  • 原文地址:https://www.cnblogs.com/Firesun/p/9945253.html
Copyright © 2011-2022 走看看