这两天没日没夜的在忙.net的工作~~连写个代码更新个bolg都没时间,总算利用午觉时间研究了会java 爽啊~~~
下面就开始做业务层了~先从主页入手 因为主页简单嘛~~主要就设计了2个登陆(管理员和用户) ,1个注册 算起来一共用了3 个接口 本来2个就可以了 然后就是贴出这三个接口吧~~再讲讲遇到的问题
MainManageLogin(管理员登陆)
/**
* 管理员登陆接口
*
* @author ConDey
*
*/
public interface MainManageLogin {
/**
* 验证管理员是否合法
*
* @param user
* 登陆管理员
* @return true 管理员合法 false 管理员不合法
*/
public boolean checkManage(User user);
public SessionFactory getSessionFactory();
public void setSessionFactory(SessionFactory sessionFactory);
public UserDao getUserDao();
public void setUserDao(UserDao userDao);
}
MainUserLogin 用户登陆
/**
* 普通用户登陆接口
*
* @author ConDey
*
*/
public interface MainUserLogin {
/**
* 验证用户是否合法
*
* @param user
* 登陆用户
* @return true 用户合法 false 用户不合法
*/
public boolean checkUser(User user);
public SessionFactory getSessionFactory();
public void setSessionFactory(SessionFactory sessionFactory);
public UserDao getUserDao();
public void setUserDao(UserDao userDao);
}
MainRegister 用户注册
/**
* 用户注册接口
*
* @author ConDey
*
*/
public interface MainRegister {
/**
* 检测用户名是否可用
*
* @param userName
* @return true 该用户名未被注册 false 已存在 不可用
*/
public boolean CheckName(String userName);
/**
* 新用户注册
*
* @param newUser
* 新用户注册
* @return true 注册成功 false 注册失败
*/
public boolean RegisterUser(User newUser);
public SessionFactory getSessionFactory();
public void setSessionFactory(SessionFactory sessionFactory);
public UserDao getUserDao();
public void setUserDao(UserDao userDao);
}
下面说一说到最近想到的问题吧
1. 数据库隔离级别 因为用户名是不能重复的吧 所以这里涉及到了虚读的问题 有两种方案 悲观锁和乐观锁 因为持久层已经写好的缘故 乐观锁太麻烦了 但是悲观锁又太影响效率 不知道怎么办 我在处理spring声明式事务的时候,发现spring的事务能定义隔离级别 因为涉及到的问题 我用了最高等级的隔离级别,这样损失的并发性,所以,这个问题教会了我一个道理...设计是很重要的。
2. hibernateDaoSupport的问题 又是spring的问题 本来想使用hibernateDaoSupport的,但是自己又犹豫了起来,到底用不用呢,google了一下,发现很多人都有这个烦恼,google之后,又观察了下源代码,发现hibernateDaoSupport只是简单的封装了一下,自己完全可以舍弃模板,一方面方便管理,另一方面可扩展性也强一些,最后还是自己生成session吧。
3. 声明式事务 话说这个东西大部分人在使用,和编程式事务最大的不同就是声明式事务完全不需要自己管理,方便安全。进而还是使用了注解形式的声明式事务吧。
4. 最后一个,spring多配置文件的问题,网上找了很多资料,但是都没有亲自去试,过一段时间再把这个问题的解决方法贴出来吧。
5. 代码肯定有很多地方有不足或者错误,因为并没有实际运行过,所以并不能作为参考,只能算记录下我做系统的一个流程与思想吧。
分享到:
相关推荐
适合初学者学习,登陆 注册 功能 借书还书功能 一系列增删改查 内置数据库 和项目运行中的图片文件,一个简单的图书馆系统。
一个图书馆管理信息系统,仅供参考,版权归所有开发者。
基于android开发,可以读取xml文件获得图书信息并显示,可以添加修改个人信息,查找本地图书信息并显示
文件下载,多线程下载。断点下载等简单封装的aar包
MyLibrary
关于stm32f103c8t6的一些初始化代码
包含了三个功能 1.使用注解告别繁琐的findViewById和setOnClickListener 2.三级缓存加载网络图片 3.一行代码解析json 内含使用例子,新手作品,高手勿喷
读者登录图书管理软件系统进行在线借书、还书,此过程中可以依据书籍的编号和名字查询书籍详细信息,并生成读者的借阅记录供读者查询。管理员登录图书管理软件系统可以进行读者管理、书籍管理、借阅情况查询分析。...
管理系统系列--MYLIBRARY图书管理系统 是基于Spring Boot + Mybatis 开发的图书管理系统
a tool for xbmc ,you can see lots of mov on it it can automaticly update
图书管理系统数据库设计 图书管理系统 数据库设计 项目名称:图书管理系统 指导老师: 姓名: 图书管理系统数据库设计 2 目录 一、 需求分析……………………………..2 二、概念设计……………………………..5 三、...
我的图书馆一个用于搜索Google图书API并将图书添加到书架中以供以后查看的全栈应用程序请在Netlify上查看实时应用程序: ://mylibrary-google-books-api.netlify.app/ 这是我个人的项目,用于巩固我对React的了解,...
MYLIBRARY图书管理系统 是基于Spring Boot + Mybatis 开发的图书管理系统, 系统具有用户管理、角色管理、应用管理、图书分类管理、图书信息管理、借书管理、还书管理、图书检索、借还记录等功能。 后端 基础框架:...
一、ListView android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WebView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment上下左右拉动...
Laravel是一个具有表达力,优雅语法的Web应用程序框架。 我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。 Laravel减轻了许多Web项目中使用的常见任务,从而减轻了开发过程中的痛苦,例如: ...
它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run ...
The Definitive Guide to MySQL源码(即mylibrary.sql)
这是一个基本的库样板。 有关更健壮的替代方法,请查看 。 :white_medium_star: 产品特点 Webpack 5 通天塔7 UMD导出,因此您的库可在任何地方使用。 开玩笑的单元测试 每日依赖关系更新 :package: 入门 git ...