java-WEB模块物流项目二.docx
《java-WEB模块物流项目二.docx》由会员分享,可在线阅读,更多相关《java-WEB模块物流项目二.docx(34页珍藏版)》请在三一办公上搜索。
1、BOS物流管理系统 第2天 内容安排:1、 Spring data 完成数据访问层2、 封装dao 项目使用 STS 3、 登陆业务 1. 登陆业务1.1. 使用PD 根据大纲绘制用户表PowerDesigner点击 菜单 Database -genreate Database -点击预览 注意: PD 生成表 ,默认脚本自带顺引号 设置 一定去掉双引号 否则逆向生成实体类 失败! 一般习惯脚本采用大写! Oracle 数据库生成脚本!去掉双引号设置步骤:-Edit current Database 选项点击生成脚本 预览 .引号就没有了!预览用户的脚本使用plsql 工具 完成脚本执行!开发
2、中 一般新建一个用户 授予 resouce + connect 角色即可 ! plsql/develepor 工具使用管理员创建用户并且授权ITCAST29开发bos 采用oracle ITCAST29用户!1.2. 创建实体类 Spring data jpa 注解 : Entity Table Id GenerateValue 实体类的注册 需要编写 ApplicationContext.xml 1.3. 配置ApplicationContext 连接池和Bean注册1: 数据库配置文件2:配置连接池 以及 sessionFactory 测试: 启动tomcat true true vali
3、date!- update - $jdbc.dialect cn.itcast.mavenbos.domain oracle validate 校验报错: 数据库表字段类型 numeric(10,2)-实体类 BigDecimal 类型.需要导入: hibernate-entity.jar spring-data. jpa 依赖的jar org.hibernate hibernate-entitymanager $hibernate.version 1.4. 配置 Spring data 学习 1:引入spring-data.jar + 依赖包 参阅文档 45页2:spring主配置文件(以前
4、:学习hibernate 需要连接池 -SessionFactory) 现在spring data 不用sessionFactory + 注解支持 需要配置spring data名称空间缺少jpa 名称空间 参照 background 章节 找到 quick start applicationContext.xml 引入名称空间 配置连接池 配置EntityManagerFactory 参照 文档 = sessionFactory配置:注解包扫描 是pring注解扫描 以及 spring data 支持dao 扫描配置事务测试: 配置完成 启动tomcat 导入jar1.5. UserDao
5、设计Reposistory 接口 最大接口! 根据目录继承树结构-F4开发中 XxxxDao extends JpaRepostory 即可 spring data 提供一套接口 以及 实现类 编写 UserDao 继承 指定接口即可 完成 crud userDao 完成! 专门针对dao 测试!1.6. UserService 设计 设计简单业务方法注解完成业务层实现测试业务层 :UserDao 扫描需要配置事务管理器 采用spring data 提供事务管理器开启 spring 注解扫描测试:1.7. JPQL 查询说明1: 根据方法名称 自动生成 jpql 语句 参照文档案例1测试 业务
6、层+junit业务层调用userDao :userDao 业务方法 必须符合命名规范 测试:s2: 命名查询 推荐注解 name 查询 要求: 类名.方法名 spring data 自动扫描 实体类 找寻 注解NamedQuery(name=xxx)案例2 : 要求使用NamedQuery 注解 在目标查询实体类上声明实体类添加注解 spring data 自动搜索 类名.方法 名称 找寻对应HQL 语句 junit 3:Query 注解的查询 dao 方法名称可以自定义 注解中编写 JPQL 语句 = HQL 案例三演示4: Query 注解 完成 本地 sql 查询 需要添加 native
7、Query=true 告知spring data 书写语句 本地sql 5:参数注入查询 Param注解 指定参数 类似HQL 占位符 Param(lastname) 自动将参数值 赋予 :lastnamespring data jpa 查询结束!web action 抽取1.8. 通用Action模板封装通用性代码 BaseActionpackage cn.itcast.mavenbos.web.action.base;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import org.apa
8、che.struts2.ServletActionContext;import org.springframework.beans.factory.annotation.Autowired;import cn.itcast.mavenbos.service.user.UserService;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;import com.opensympho
9、ny.xwork2.util.ValueStack;/ 复用 Action 代码public abstract class BaseAction extends ActionSupport implements ModelDriven / 各种业务层对象Autowiredprivate UserService userService;/ Autowired/ private UserService userService;/ Autowired/ private UserService userService;/ Autowired/ private UserService userServi
10、ce;/ Autowired/ private UserService userService;/ Autowired/ private UserService userService;/ Autowired/ private UserService userService;/ Autowired/ private UserService userService;/ Autowired/ private UserService userService;/ Autowired/ private UserService userService;protected T model;/ 各个actio
11、n 封装对象modelpublic T getModel() return model;/ 后续子类XxxxAction 请求参数 封装model 里面public BaseAction() / 对model进行实例化, 通过子类 类声明的泛型Type superclass = this.getClass().getGenericSuperclass();/ 转化为参数化类型ParameterizedType parameterizedType = (ParameterizedType) superclass;/ 获取一个泛型参数Class modelClass = (Class) param
12、eterizedType.getActualTypeArguments()0;try model = modelClass.newInstance(); catch (InstantiationException e) e.printStackTrace(); catch (IllegalAccessException e) e.printStackTrace();/ 获取请求参数public String getParameter(String name) return ServletActionContext.getRequest().getParameter(name);/ 获取Sess
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java WEB 模块 物流 项目

链接地址:https://www.31ppt.com/p-1701374.html