OA中基础功能总结

简介: 1,设计 BaseDao 与 BaseDaoImpl 1,设计接口 BaseDao  1,每个实体都应有一个对应的Dao接口,封装了对这个实体的数据库操作。例   实体   Dao接口    实现类   ========================================================   User   --> UserDao   --> UserDa

1,设计 BaseDao 与 BaseDaoImpl
 1,设计接口 BaseDao
  1,每个实体都应有一个对应的Dao接口,封装了对这个实体的数据库操作。例
   实体   Dao接口    实现类
   ========================================================
   User   --> UserDao   --> UserDaoImpl
   Role   --> RoleDao   --> RoleDaoImpl
   Department  --> DepartmentDao --> DepartmentDaoImpl
   Article   --> ArticleDao  --> ArticleDaoImpl
   ...
  2,在每个Dao接口中都应有一个基本的增删改查的方法,
   但每个Dao接口中都写一遍就是重复的代码,可以把这些方法抽取到一个父接口中,定义为:
   public interface BaseDao<T> {
    save(entity : T) : void
    delete(id : Serializable) : void
    update(entity : T) :void
    getById(id : Serializable) : T
    getByIds(ids : Serializable[]) : List<T>
    findAll() : List<T>
   }
  3,说明:
   1,使用泛型的技术,可以在使用时更方便,如:User user = userDao.getById(1L); // 不需要强制转型
   2,getById(id : Long) 与 getByIds(ids : Long[]) 不要合并为一个有可变参数的方法,
    因为那个用起来就不方便了,比如要经常使用的根据一个id获取一个对象时就很不方便:
    List<User> list = userDao.getByIds(1L); User user = list.size() > 0 ? list.get(0) : null。
   3,以后再有Dao接口就可以继承这个 BaseDao,以拥有基本的增删改查方法,如:
    UserDao extends BaseDao<User>
    RoleDao extends BaseDao<Role>
 2,设计实现类 BaseDaoImpl
  1,每个Dao的接口还要有相应的实现类才可以,在每个DaoImpl中都要实现Dao接口中定义的所有方法,
   当然也包括公共的增删改查方法(BaseDao中定义的6个基本方法)。
  2,每个DaoImpl中都实现一遍公共方法显示是重复的,所以也可以抽取出来为一个父类BaseDaoImpl,
   在BaseDaoImpl中实现了BaseDao接口的所有方法,我们的DaoImpl只需要继承他就可以不用重复的写公共方法的实现了。
   声明如下:
    public class BaseDaoImpl<T> implements BaseDao<T> {
     @Resource private SessionFactory sessionFactory; // 让Spring注入sessionFactory
     private Class<T> clazz; // 要想办法得到T的Class

     public void save(T entity) { }
     public void delete(Long id) { }
     public void update(T entity) { }
     public T getById(Long id) { }
     public List<T> getByIds(Long[] ids) { }
     public List<T> findAll() { }
    }
   在实现方法时,获取Session的代码为:sessionFactory.getCurrentSession()
  3,在获取clazz时有两种方法
   1,方法一:
    1,把clazz声明成protected修饰符的,这样子类中就可以访问了,
    2,在每个子类的构造方法中传递这个属性的值,如:
     public RoleDaoImpl() { clazz = Role.class; }
     public UserDaoImpl() { clazz = User.class; }
   2,方法二:使用反射的方式:
    1,在BaseDaoImpl的默认构造方法中写如下代码就可以了:
     ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
     clazz = (Class) pt.getActualTypeArguments()[0];
    2,说明:BaseDaoImpl不能直接使用,只能使用他的子类,否则这段代码就无效了。

2,页面中的JS表单验证(使用jQuery.validate)
 1,基本用法
  1,导入JS文件
   <script type="text/javascript" src="lib/jquery.js"></script>
   <script type="text/javascript" src="lib/jquery.metadata.js"></script>
   <script type="text/javascript" src="jquery.validate.js"></script>
  2,指定哪个表单要在提交前要先进行验证
   $(function(){
    $("form").validate(); 
   })
  3,指定表单中字段的验证规则
   <input type="text" name="name" class="required" />
 2,指定验证规则的方式
  1,多个class之间使用空格隔开,如 class="required email"
  2,使用json方式,如 class="{required: true, minlength: 2}"
  3,混合方式一与方式二,如 class="required {minlength: 2}"
 3,内置的验证规则
  有很多,见文档
 4,修改提示消息
  1,默认提示
  2,针对某个表单的个性化提示
 5,修改提示消息的样式
  <style type="text/css">
   label.error{
    margin-left: 10px;
    color: red;
   }
  </style>

 

目录
相关文章
|
JSON JavaScript 前端开发
OA会议管理系统之会议发布(内含原型图&项目介绍&多功能下拉框&源码)(三)
OA会议管理系统之会议发布(内含原型图&项目介绍&多功能下拉框&源码)(三)
92 0
|
JavaScript 前端开发 Java
OA会议管理系统之会议发布(内含原型图&项目介绍&多功能下拉框&源码)(二)
OA会议管理系统之会议发布(内含原型图&项目介绍&多功能下拉框&源码)(二)
83 0
|
4月前
|
JavaScript 前端开发 搜索推荐
【Vue 2】一个功能强大OA办公系统,开源且免费!!
【Vue 2】一个功能强大OA办公系统,开源且免费!!
|
7月前
免费OA系统的特征和功能支持
随着中国企业信息化的建设的高速发展,企业信息化建设已不再是一个陌生词,各大信息化软件相应的得到了发展。目前OA系统已经成为每个企业信息化初期选择并投入建设的基本系统,达到充分利用信息,提高工作效率和工作质量,提高生产率的目的。
73 1
|
7月前
企业常用的免费OA功能
当免费OA在管理软件领域支撑起组织管理的半边天的时候,当免费OA成为移动互联网时代企业信息化的排头兵的时候,是什么让越来越多的企业愿意买单。哪些功能能让企业更为收益?
43 0
|
存储 数据安全/隐私保护
点晴OA系统有哪些功能和优势?
随着企业办公方式的数字化和自动化的发展,越来越多的企业开始会使用免费OA办公系统来提高工作效率,加强团队协作、管理流程和数据安全。
60 1
关于会议OA需求分析与开发功能设计
关于会议OA需求分析与开发功能设计
95 0
免费OA系统都有什么样的功能?
免费OA通常是指企业内部的一个信息化平台,免费OA系统所应用的领域范围也比较广泛,不管你是属于什么样的行业,都会有需要使用免费OA系统用来管理日常的管理工作。免费OA系统都有哪些功能?
105 1
|
前端开发 JavaScript Java
OA会议管理系统之会议发布(内含原型图&项目介绍&多功能下拉框&源码)(一)
OA会议管理系统之会议发布(内含原型图&项目介绍&多功能下拉框&源码)
267 0
|
供应链 数据可视化 安全
OA是什么意思?OA系统有哪些核心功能和应用场景?
随着OA系统应用的逐步深入,企业的员工每天上班做得第一件事情可能就是登陆OA系统,收一下邮件、看看公司最新的新闻、处理自己今天需要待办的工作等。OA俨然成为一个日常工作的基础平台,企业已经不可离开它了。
OA是什么意思?OA系统有哪些核心功能和应用场景?