Java连接MySQL数据库——含详细步骤和代码
工具:eclipse、MySQL、MySQL连接驱动:mysql-connector-java-5.1.45.jar
首先要下载Connector/J地址:http://www.mysql.com/downloads/connector/j/
这是MySQL官方提供的连接方式(即MySQL连接驱动),解压后得到jar库文件,需要在工程中导入该库文件。
这是解压后的文件:
1、新建java项目 然后新建一个文件夹——libs(用来放各种外部包)
右键工程名(我的是sqldemo1)—新建New—文件夹Folder—Folder name为libs—Finish。
2、在包里面加入连接mysql数据库的包
即刚才解压后得到的 mysql-connector-java-5.1.45-bin.jar
然后复制粘贴到我们java项目的libs文件夹下面(注意是物理地址里);
此时,在eclipse中—右击libs文件夹—刷新Refresh,就将下载好的JDBC放到该文件夹下,如下图所示:
3、构建路径上的jar包
在java项目包中新建两个Class类文件,我命名为DBHelper和Demo
一个类用来打开或关闭数据库:DBHelper.java
代码如下:
package sqldemo1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBHelper {
public static final String url = "jdbc:mysql://127.0.0.1/student";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "";
public Connection conn = null;
public PreparedStatement pst = null;
public DBHelper(String sql) {
try {
Class.forName(name);//指定连接类型
conn = DriverManager.getConnection(url,user,password);//获取连接
pst = conn.prepareStatement(sql);//准备执行语句
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
this.conn.close();
this.pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
再写一个Demo.java来执行相关查询操作
代码如下:
package sqldemo1;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Demo {
static String sql = null;
static DBHelper db1 = null;
static ResultSet ret = null;
public static void main(String[] args) {
sql = "select *from stuinfo";//SQL语句
db1 = new DBHelper(sql);//创建DBHelper对象
try {
ret = db1.pst.executeQuery();//执行语句,得到结果集
while (ret.next()) {
String uid = ret.getString(1);
String ufname = ret.getString(2);
String ulname = ret.getString(3);
String udate = ret.getString(4);
System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate );
}//显示数据
ret.close();
db1.close();//关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}
之后就可以测试
查询结果如下
如果连接失败,看这几个因素是否发生
最新文章
- 腾讯bugly团队提供的android国内镜像
- string length()
- javascript动态添加form表单元素
- directX学习系列8 颜色融合(转)
- Android Wear(手表)开发 - 学习指南
- 详解AngularJS中的filter过滤器用法
- MacBookPro 蓝牙重置
- Tuning “enq:TX – row lock contention” events
- QML 语言基础
- Bugscan学习笔记------关于urlparse
- C#学习日志 day 4 ------ 类相关---this指针以及相关关键字
- 远程方法调用(RMI)原理与示例 (转)
- VR全景:电商巨头的角逐
- [转载] Java集合框架之小结
- Spring Cloud Zuul 添加 ZuulFilter
- 使用HDFS完成wordcount词频统计
- 广州.NET微软技术俱乐部休闲活动 - 每周三五晚周日下午爬白云山活动
- URIError: Failed to decode param '/%PUBLIC_URL%/favicon.ico'
- SpriteKit 关于categoryBitMask collisionBitMask contactTestBitMask 遇到的一些问题
- ceph PG数量调整/PG的状态说明
热门文章
- Window .NetCore Nginx
- 【Linux】Linux 资料大全(100% 纯干货)
- rest-framework 响应器(渲染器)
- Tree--二叉树BinarySearchTree
- moviepy音视频开发:音频合成类AudioArrayClip介绍
- moviepy音视频开发:音频剪辑基类AudioClip
- moviepy音视频剪辑:headblur的参数r_blur卷积核以及fx、fy、r_zone的功能作用及用途
- 使用XPath爬取西刺代理
- 安装centos出现的问题
- 使用 typescript 快速开发一个 cli