MyEclipse 连接MySQL ------Java测试连接数据库源代码 数据表设计SQL代码 陈光剑
/** *连接mysql服务器 */package iLink_MySQL;/** * @author chenguangjian/iSword 2013-3-31 * */import java.sql.*;import java.text.SimpleDateFormat;import java.util.*;import java.util.Date;import java.text.*;import java.util.Calendar;public class link_mysql { public static void main(String[] args) { link_mysql lm = new link_mysql(); String t= lm.getStringDate(); try { System.out.println("["+t+"]"+"加载MYSQL JDBC驱动程序......"); Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动程序 System.out.println("["+t+"]"+"Success loading Mysql Driver!"); }catch (Exception e) { System.out.print("["+t+"]"+"Error loading Mysql Driver!"); e.printStackTrace(); }try { System.out.println("["+t+"]"+"连接MySQL:jdbc:mysql//服务器地址:端口/数据库名 ,登陆用户名,密码 ......"); Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/book_system","root","roo");//连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码 System.out.println("["+t+"]"+"Success connect Mysql server!"); Statement stmt = connect.createStatement(); ResultSet rs = stmt.executeQuery("select * from t_user");//user 为你表的名称 System.out.println("["+t+"]"+" Get MySQL data.....");while (rs.next()) { System.out.println(rs.getString("ID")+". "+rs.getString("USER_NAME")+" "+rs.getString("USER_PASSWORD"));}System.out.println("["+t+"]"+"Get MySQL data successfully! "); }catch (Exception e) { System.out.print("["+t+"]"+"Get MySQL data error!"); e.printStackTrace(); } } /** * String getStringDate()获取当前时间 * @return */public static String getStringDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = formatter.format(currentTime); return dateString;}}
[2013-03-31 23:55:48]加载MYSQL JDBC驱动程序......[2013-03-31 23:55:48]Success loading Mysql Driver![2013-03-31 23:55:48]连接MySQL:jdbc:mysql//服务器地址:端口/数据库名 ,登陆用户名,密码 ......[2013-03-31 23:55:48]Success connect Mysql server![2013-03-31 23:55:48] Get MySQL data.....1. root roo2. xy xy3. sword 111[2013-03-31 23:55:48]Get MySQL data successfully!
出现上面结果,说明你连接数据库成功。
我的环境:MySQL:mysql-essential-5.1.51-win32
jdbc驱动:D:\Users\root\Workspaces\MyEclipse 10\LinkMySQL\WebRoot\WEB-INF\lib\mysql-connector-java-5.0.5-bin.jar
Eclipse:任意版本,开源免费。
MySQL 数据库设计:
DROP DATABASE IF EXISTS `BOOK_SYSTEM`;-- 创建DATABASECREATE DATABASE BOOK_SYSTEM;-- 使用BOOK_SYSTEMUSE BOOK_SYSTEM;-- 用户表CREATE TABLE IF NOT EXISTS `T_USER` ( `ID` int AUTO_INCREMENT NOT NULL, `USER_NAME` varchar(20), `USER_PASSWORD` varchar(20), PRIMARY KEY (`ID`));INSERT INTO `T_USER` VALUES ('1', 'root', 'roo');-- 书种类CREATE TABLE IF NOT EXISTS `T_BOOK_TYPE` ( `ID` int AUTO_INCREMENT NOT NULL, -- 主键生成策略为自动增长 `TYPE_NAME` varchar(50), -- 种类名称 `TYPE_INTRO` varchar(200), -- 种类简介 PRIMARY KEY (`ID`));-- 出版社CREATE TABLE IF NOT EXISTS `T_PUBLISHER` ( `ID` int AUTO_INCREMENT NOT NULL, -- 主键生成策略为自动增长 `PUB_NAME` varchar(50), -- 出版社名称 `PUB_TEL` varchar(50), -- 联系电话 `PUB_LINK_MAN` varchar(50), -- 联系人 `PUB_INTRO` varchar(200), -- 简介 PRIMARY KEY (`ID`) -- 声明主键);-- 书CREATE TABLE IF NOT EXISTS `T_BOOK` ( `ID` int AUTO_INCREMENT NOT NULL, -- ID字段,自增 `BOOK_NAME` varchar(50), -- 书名称 `BOOK_INTRO` varchar(200), -- 书简介`BOOK_PRICE` double, -- 书的单价 `TYPE_ID_FK` int NOT NULL, -- 种类外键 `PUB_ID_FK` int NOT NULL, -- 出版社外键`IMAGE_URL` varchar(200), -- 缩略图URL`AUTHOR` varchar(200), -- 作者 `REPERTORY_SIZE` bigint(10), -- 库存数量 FOREIGN KEY (`TYPE_ID_FK`) REFERENCES `T_BOOK_TYPE` (`ID`), -- 声明种类的外键 FOREIGN KEY (`PUB_ID_FK`) REFERENCES `T_PUBLISHER` (`ID`), -- 声明出版社外键 PRIMARY KEY (`ID`));-- 交易记录表, 一个交易记录包括多个书的销售记录, 一次交易可能有多本书CREATE TABLE IF NOT EXISTS `T_SALE_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, `RECORD_DATE` datetime,-- 交易日期 PRIMARY KEY (`ID`));-- 书的销售记录, 一条记录对应一本书CREATE TABLE IF NOT EXISTS `T_BOOK_SALE_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, `BOOK_ID_FK` int, -- 销售的书 `T_SALE_RECORD_ID_FK` int, -- 该书的销售记录所对应的交易记录 `TRADE_SUM` int(10), -- 销售数量 FOREIGN KEY (`BOOK_ID_FK`) REFERENCES `T_BOOK` (`ID`), FOREIGN KEY (`T_SALE_RECORD_ID_FK`) REFERENCES `T_SALE_RECORD` (`ID`), PRIMARY KEY (`ID`));-- 入库记录表, 一次入库会入多本书CREATE TABLE IF NOT EXISTS `T_IN_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, `RECORD_DATE` datetime, -- 入库日期 PRIMARY KEY (`ID`));-- 书的入库记录CREATE TABLE IF NOT EXISTS `T_BOOK_IN_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, -- ID自增 `BOOK_ID_FK` int, -- 入库的书 `T_IN_RECORD_ID_FK` int, -- 对应的入库记录 `IN_SUM` int(10), -- 入库数量 FOREIGN KEY (`BOOK_ID_FK`) REFERENCES `T_BOOK` (`ID`), -- 声明书的外键 FOREIGN KEY (`T_IN_RECORD_ID_FK`) REFERENCES `T_IN_RECORD` (`ID`), -- 声明入库记录外键 PRIMARY KEY (`ID`));
MyEclipse MySQL
连接配置:
直接进入主题:
Right click MyEclipse Derby->New Database Connection Driver:
Test Driver:
直接看图
( 东海陈光剑 )