【斗医】【9】Web应用开发20天

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://qingkechina.blog.51cto.com/5552198/1377044

一、调试《【斗医】【8】Web应用开发50天》数据表映射方法

   本来想把数据库配置、Hibernate连接封装和映射配置一块写的,但由于个人时间问题时断时续,思路也多次被打断,所以在此对其进行弥补。

   若读者把上篇的附件下载下来运行,会发现运行失败,下面随着异常分析并解决。

1、截止目前系统所使用的Jar包

 wKioL1MjFmSAiHq4AAAdfy84b2Q547.png

2、通过Eclipse启动Tomcat,抛出如下异常:

  严重: StandardWrapper.Throwable

  java.lang.NoClassDefFoundError: org/dom4j/DocumentException

  【问题原因】:系统缺少dom4j.jar包,下载放入到运行环境D:\medical\war\WEB-INF\lib下(我会把系统所依赖的所有jar以附件的形式陆续上传,因为上传附件有大小限制,不能一次上传完


3、再通过Eclipse启动Tomcat,抛出如下异常:

  严重: StandardWrapper.Throwable

  java.lang.NoClassDefFoundError: org/hibernate/annotations/common/reflection/ReflectionManager

  【问题原因】:系统缺少hibernate-commons-annotations.jar包,下载放入到运行环境中


4、再通过Eclipse启动Tomcat,抛出如下异常:

  严重: StandardWrapper.Throwable

  java.lang.NoClassDefFoundError: org/jboss/logging/BasicLogger

  【问题原因】:系统缺少jboss-logging.jar包,下载放入到运行环境中


5、再通过Eclipse启动Tomcat,抛出如下异常:

  严重: StandardWrapper.Throwable

  java.lang.NoClassDefFoundError: javax/transaction/SystemException

  【问题原因】:系统缺少jboss-transaction-api_1.2_spec-1.0.0.Final.jar包,下载放入到运行环境中


6、再通过Eclipse启动Tomcat,抛出如下异常:

  严重: StandardWrapper.Throwable

  java.lang.NoClassDefFoundError: javax/persistence/EntityListeners

  【问题原因】:系统缺少hibernate-jpa-2.1-api-1.0.0.Final.jar包,下载放入到运行环境中


7、再通过Eclipse启动Tomcat,抛出如下异常:

  严重: StandardWrapper.Throwable

  org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister

  【问题原因】:系统缺少javassist-3.18.1-GA.jar包,下载放入到运行环境中


8、再通过Eclipse启动Tomcat,抛出如下异常:

  严重: StandardWrapper.Throwable

  org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect

  【问题原因】:从提示上看是连接失败了,所以先查看数据库服务是否启动。由于我使用的是window操作系统,所以只需要在操作系统任务栏上右键,选择“任务管理器”,在“进程”页签查看“映射名称”是否有mysql服务存在?从下图可见mysql服务并未启动,所以启动它

   wKiom1MjG4eDl1vVAABnGJ4p1aQ554.png

     

9、再通过Eclipse启动Tomcat,抛出如下异常:

  严重: StandardWrapper.Throwable

  Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

  【问题原因】:检查D:\medical\war\etc\hibernate.cfg.xml文件中数据库配置是否正确,配置如下:

   <property name="connection.driver_class">com.mysql.jdbc.Driver</property>

   <property name="connection.url">jdbc:mysql://localhost:3306/medical</property>

   <property name="connection.username">root</property>

   <property name="connection.password">Changeme123</property>

   由于前段时间我重新配置了mysql的密码,所以更改为新密码即可

   【备注】:若连接不通过,还需要检查系统防火墙是否开启,是否把端口号添加到例外中?


10、再通过Eclipse启动Tomcat,抛出如下异常:

  严重: StandardWrapper.Throwable

org.hibernate.boot.registry.selector.spi.StrategySelectionException: Unable to resolve name [net.sf.hibernate.dialect.MySQLDialect] as strategy [org.hibernate.dialect.Dialect]

 【问题原因】:D:\medical\war\etc\hibernate.cfg.xml文件中SQL方言配置错误,把<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>改为<property name="dialect">org.hibernate.dialect.MySQLDialect</property>


11、再通过Eclipse启动Tomcat,启动正常

  (1)此时系统所依赖的JAR包如下:

  wKioL1MjHtyTiZTwAAAfLMz1ji4956.png

  (2)此时系统的hibernate.cfg.xml内容如下:

wKioL1MjH2Swex0qAABc_JG6uoc951.png



二、创建数据库medical和数据表usertable

1、打开Mysql的命令行终端,并输入正确的密码,如下图:

  wKiom1MjID6z4UsmAAA7IlOrV9Y060.png

2、创建数据库medical

  在窗口中输入“CREATE DATABASE MEDICAL;”回车,一定要有分号。


3、创建数据表usertable

  在窗口中输入“CREATE TABLE USER(userId VARCHAR(20) PRIMARY KEY NOT NULL, userAuth VARCHAR(64), userSign VARCHAR(64), attention VARCHAR(10));”回车,一定要有分号

三、创建数据表usertable的映射文件

1、在运行环境D:\medical\war\etc\mapping下创建user.hbm.xml文件,输入如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<? xml  version = "1.0"  encoding = "utf-8" ?> 
<!DOCTYPE hibernate-mapping PUBLIC 
         "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
                                                                       
< hibernate-mapping  package = "com.medical.server.dao" >
     < class  name = "UserDAO"  table = "USERTABLE" >
         < id  name = "userId"  column = "userId"  type = "string" >
             < generator  class = "uuid.hex"  />
         </ id >
         < property  name = "userAuth"  column = "userAuth"  />
         < property  name = "userSign"  column = "userSign"  />
         < property  name = "attention"  column = "attention"  />
     </ class >
</ hibernate-mapping >


(2)创建com.medical.server.dao.UserDAO.java类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
  * 用户ID
  */
private  String userId =  null ;
/**
  * 用户鉴权字符串
  */
private  String userAuth =  null ;
/**
  * 用户自我描述
  */
private  String userSign =  null ;
/**
  * 用户关注领域
  */
private  String attention =  null ;

  里面定义4个字符,与数据表userTable中的字段相对应,然后对其设置set&get方法


(3)再通过Eclipse启动Tomcat,启动正常。


本文出自 “青客” 博客,请务必保留此出处http://qingkechina.blog.51cto.com/5552198/1377044

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
15天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
25天前
|
Web App开发 前端开发 开发工具
介绍Web开发的基础知识
介绍Web开发的基础知识
26 7
|
1月前
|
存储 资源调度 应用服务中间件
浅谈本地开发好的 Web 应用部署到 ABAP 应用服务器上的几种方式
浅谈本地开发好的 Web 应用部署到 ABAP 应用服务器上的几种方式
26 0
|
1月前
|
存储 前端开发 JavaScript
从前端到后端,探索现代Web开发技术
本文探索了现代Web开发技术的各个方面,包括前端和后端开发以及多种编程语言的应用。通过对JavaScript、Java、Python、C、PHP和Go等语言的介绍,深入探讨了前端和后端开发的基本原理和常用工具。同时,还涵盖了数据库技术在Web开发中的重要性和应用场景。无论你是初学者还是有经验的开发者,本文都能为你提供全面的视角和实用的知识,帮助你在Web开发领域取得更好的成果。
|
1月前
|
前端开发 开发者
探索前端技术的新趋势:Web组件化开发
【2月更文挑战第11天】 在这篇文章中,我们将深入探讨Web组件化开发的概念及其对前端开发领域的影响。不同于传统的摘要方式,我们通过一个故事来引入主题:想象在一个快速变化的数字世界里,有一座由各种小型、独立、可复用的建筑块构成的城市,每个建筑块都拥有独特的功能和风格,它们可以自由组合,创造出无限可能的城市景观。这座城市,就像是使用了Web组件化开发技术的前端项目。接下来,我们将详细探讨Web组件化开发的优势、实现方式以及面临的挑战,为前端开发者提供一个全面的视角来理解和应用这一重要的技术趋势。
62 5
|
1月前
|
缓存 关系型数据库 API
后端开发:构建高效、可扩展的Web应用程序的关键
后端开发:构建高效、可扩展的Web应用程序的关键
18 0
|
4天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
4天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
16天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
26天前
|
API
2024常用Web支付开发讲解教程
本教程为web支付开发,讲解了最常用的两钟支付:支付宝支付和微信支付,服务器配置和API对接,学完本课程可以学会微信支付、和支付宝支付开发。
17 2
2024常用Web支付开发讲解教程