itsbegin
作者itsbegin·2013-01-22 11:11
软件开发工程师·上海通联支付

【原创】MYSQL 的使用记录 & MyEclipse8.5调用

字数 11231阅读 2934评论 0赞 0
注:此篇文章是给我小妹做毕业设计时的一些配置记录,主要用到JAVA的MVC架构,后台数据库为MYSQL。例子比较简单,供未用过的鞋童们参考。
 
进行MYSQL安装后,通过MYSQL的命令行方式登录,如下图(密码为你安装时设置的密码):
 
 
 
注意-u与-p参数后面不需要空格间隔,本次登录使用root,密码为mysql.
 
之后可以查看一下现在有哪些数据库,并且创建一个新的数据库ebooks:
 
 
对root用户进行赋权:
 
 
 
如果通过SQLyog工具登录,配置如下图:
 
 
 
MYSQL在myeclipse中的驱动安装
 
首先,在官方网站www.mysql.com下载驱动包mysql-connector-java-5.1.20-bin.jar。
为了测试,先在原来创建的EBOOKS上建立一个表userinfo:
 
CREATE TABLE `userinfo` (
  `id` bigint(10) NOT NULL AUTO_INCREMENT,
  `username` varchar(30) DEFAULT '',
  `password` varchar(30) DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
并通过SQLyog插入一条测试数据。
 
在myeclipse 中选择Windows->Open Perspective->Myeclipse Database Explorer,
在DB Browser中添加新的MYSQL数据库EBOOKS:
 
  
 
其中,通过Add JARs来添加好MYSQL的驱动程序包,并Test进行连接测试,应通过,可以看到EBOOKS数据库已经可以访问。
 
 
在Window->Show View->Java->Package Explorer中,在项目上右键选择:build Path->add external Archiver
 
 

图书借阅卡信息表 Table: bookcard_info

Column Information

Field Type Comment
cardid char(16) NOT NULL 图书卡卡号
booknum int(4) NULL 现借书量
amerce char(8) NOT NULL 累计罚金
state char(8) NOT NULL 卡状态
bookmax int(4) NOT NULL 最大借书量
lastuptime timestamp NOT NULL 最后更新日期

Index Information

Indexes Columns Index_Type
PRIMARY cardid Unique

DDL Information
CREATE TABLE `bookcard_info` (
`cardid` char(16) NOT NULL COMMENT '图书卡卡号',
`booknum` int(4) DEFAULT '0' COMMENT '现借书量',
`amerce` char(8) NOT NULL DEFAULT '0.00' COMMENT '累计罚金',
`state` char(8) NOT NULL DEFAULT '''正常''' COMMENT '卡状态',
`bookmax` int(4) NOT NULL DEFAULT '8' COMMENT '最大借书量',
`lastuptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新日期',
PRIMARY KEY (`cardid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
 
 

罚金信息记录表 Table: bookcard_amerce

 
Column Information

Field Type Comment
cardid char(16) NOT NULL 图书卡卡号
amercetime timestamp NOT NULL 罚款时间
amerce char(8) NULL 罚款金额

Index Information

Indexes Columns Index_Type
PRIMARY cardid Unique

DDL Information
CREATE TABLE `bookcard_amerce` (
`cardid` char(16) NOT NULL COMMENT '图书卡卡号',
`amercetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '罚款时间',
`amerce` char(8) DEFAULT NULL COMMENT '罚款金额',
PRIMARY KEY (`cardid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
 
  
 
图书信息记录表 Table: books_info
 
Column Information

Field Type Comment
bookid char(30) NOT NULL 图书条码号
bookname char(50) NOT NULL 书名
bookauthor char(20) NOT NULL 作者
bookpress char(20) NULL 出版社
bookyear char(8) NOT NULL 出版日期
bookkeyword varchar(50) NULL 检索关键词
bookstate char(8) NOT NULL 状态:是否在馆等
lastuptime timestamp NOT NULL 最后更新日期

Index Information

Indexes Columns Index_Type
PRIMARY bookid Unique

DDL Information
 
CREATE TABLE `books_info` (
`bookid` char(30) NOT NULL COMMENT '图书条码号',
`bookname` char(50) NOT NULL COMMENT '书名',
`bookauthor` char(20) NOT NULL COMMENT '作者',
`bookpress` char(20) DEFAULT NULL COMMENT '出版社',
`bookyear` char(8) NOT NULL COMMENT '出版日期',
`bookkeyword` varchar(50) DEFAULT NULL COMMENT '检索关键词',
`bookstate` char(8) NOT NULL DEFAULT '''在馆''' COMMENT '状态:是否在馆等',
`lastuptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新日期',
PRIMARY KEY (`bookid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 
 

图书借阅情况信息表 Table: books_borrowinfo

 

 

Column Information

Field Type Comment
cardid char(16) NOT NULL 图书卡卡号
bookid char(30) NOT NULL 图书条码号
borrowtime datetime NULL 出借起始日期
loadtime datetime NULL 续借起始日期
amerce char(8) NOT NULL 逾期罚金
lastuptime timestamp NOT NULL 最后更新日期

Index Information
Indexes Columns Index_Type

DDL Information
CREATE TABLE `books_borrowinfo` (
`cardid` char(16) NOT NULL COMMENT '图书卡卡号',
`bookid` char(30) NOT NULL COMMENT '图书条码号',
`borrowtime` datetime DEFAULT NULL COMMENT '出借起始日期',
`loadtime` datetime DEFAULT NULL COMMENT '续借起始日期',
`amerce` char(8) NOT NULL COMMENT '逾期罚金',
`lastuptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新日期'
) ENGINE=InnoDB DEFAULT CHARSET=utf8
 
图书馆管理员信息表 Table: library_manager
 
Column Information

Field Type Comment
managerid char(16) NOT NULL 图书馆管理员ID
managername char(20) NOT NULL 管理员姓名
username char(16) NOT NULL 登录用户名
password char(16) NOT NULL 登录密码
lastuptime timestamp NOT NULL 最后更新日期

Index Information

Indexes Columns Index_Type
PRIMARY managerid Unique

DDL Information
CREATE TABLE `library_manager` (
`managerid` char(16) NOT NULL COMMENT '图书馆管理员ID',
`managername` char(20) NOT NULL COMMENT '管理员姓名',
`username` char(16) NOT NULL COMMENT '登录用户名',
`password` char(16) NOT NULL COMMENT '登录密码',
`lastuptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新日期',
PRIMARY KEY (`managerid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

图书卡注册信息表 Table: books_reginfo
 
Column Information

Field Type Comment
cardid char(16) NOT NULL 图书卡卡号
schoolyardid char(20) NOT NULL 校园学生证号
truename varchar(30) NOT NULL 真实姓名
email varchar(30) NULL 联系邮箱
telephone varchar(20) NOT NULL 联系电话
gender char(8) NOT NULL 性别
lastuptime timestamp NOT NULL 最后更新日期

Index Information

Indexes Columns Index_Type
PRIMARY cardid Unique

DDL Information
CREATE TABLE `books_reginfo` (
`cardid` char(16) NOT NULL COMMENT '图书卡卡号',
`schoolyardid` char(20) NOT NULL COMMENT '校园学生证号',
`truename` varchar(30) NOT NULL COMMENT '真实姓名',
`email` varchar(30) DEFAULT NULL COMMENT '联系邮箱',
`telephone` varchar(20) NOT NULL COMMENT '联系电话',
`gender` char(8) NOT NULL COMMENT '性别',
`lastuptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新日期',
PRIMARY KEY (`cardid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 
完善关联:
1. 创建books_borrowinfo的主外键(BOOKID+CARDID)
CREATE TABLE `books_borrowinfo` (
  `cardid` char(16) NOT NULL COMMENT '图书卡卡号',
  `bookid` char(30) NOT NULL COMMENT '图书条码号',
  `borrowtime` datetime DEFAULT NULL COMMENT '出借起始日期',
  `loadtime` datetime DEFAULT NULL COMMENT '续借起始日期',
  `amerce` char(8) NOT NULL COMMENT '逾期罚金',
  `lastuptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新日期',
  KEY `FK_books_borrowinfo_bookid` (`bookid`),
  KEY `FK_books_borrowinfo_cardid` (`cardid`),
  CONSTRAINT `FK_books_borrowinfo_cardid` FOREIGN KEY (`cardid`) REFERENCES `bookcard_info` (`cardid`) ON DELETE NO ACTION,
  CONSTRAINT `FK_books_borrowinfo_bookid` FOREIGN KEY (`bookid`) REFERENCES `books_info` (`bookid`) ON DELETE NO ACTION

) ENGINE=InnoDB DEFAULT CHARSET=utf8

2. 重命名books_reginfo为bookcard_reginfo
3. 创建bookcard_amerce表的主外键
CREATE TABLE `bookcard_amerce` (
  `cardid` char(16) NOT NULL COMMENT '图书卡卡号',
  `amercetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '罚款时间',
  `amerce` char(8) DEFAULT NULL COMMENT '罚款金额',
  PRIMARY KEY (`cardid`),
  
CONSTRAINT `FK_bookcard_amerce` FOREIGN KEY (`cardid`) REFERENCES `bookcard_info` (`cardid`) ON DELETE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8

4. 添加bookcard_reginfo的主外键
5. 添加books_type表并关联books_info
 
调整后的E-R图如下:
 
  
 
为了避免中文乱码,将所有部分的字符集指定都为UTF-8.
 
如果连接MYSQL通过DB Explorer可以,但在调试过程中还报:CLASS NOT FOUND这类的错误,那么将MYSQL官方下载的驱动JAR包手工放置到MyEclipse的TOMCAT对应LIB目录下即可生效。
 
如果遇到针对FiltDispatcher NOT FOUND类的错误,多半是由于访问的JSP页面没有进入JSP的FILTER过滤条件内,但是用了Struts标签而需要解析。解决办法是更改web.xml的对应部分:
 
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
 
加入第一个功能后的STRUTS.XML文件如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。
如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 -->
<constant name="struts.action.extension" value="do"/>
<!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
<constant name="struts.serve.static.browserCache" value="false"/>
<!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload" value="true"/>
<!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
<constant name="struts.devMode" value="true" />
<!-- 默认的视图主题 -->
<constant name="struts.ui.theme" value="simple" />
<!-- 定义 Struts 2 资源文件 baseName 是 messageResource 主要提供error消息资源 -->
<constant name="struts.custom.i18n.resources" value="messageResource" />
<package name="strutreq" extends="struts-default">
<action name="Login" class="LoginAction">
<result name="success">welcome.jsp</result>
<result name="fail">error.jsp</result>
</action>
</package>
</struts>
 
此时WEB.XML内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- zh-cn encoding -->
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
 
 
 
 
 
 
 
 
 
 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广