java连接mysql数据库【便于理解的jdbc】
一、开发环境
jdk安装:
eclipse安装使用:
mysql安装教程:详细参考
Navicat安装教程:参考
二、创建数据表
1. 用Navicat图形化创建
2. 用命令行创建
忽略。
三、创建java工程
1.在eclipse中创建一个工程:Fir (工程名自拟)
2.在Fir工程下,创建lib文件夹(存在jar驱动文件)
鼠标右键点击Fir工程 ——> New ——>Folder、
文件夹命名为lib
3.导入mysql驱动(mysql-connector-java-5.1.13-bin.jar)
把mysql-connector-java-5.1.13-bin.jar文件,复制到jdbc工程下的lib文件夹里。
ps:如果下载不了jar文件,可以私信我,或直接百度也行
4.载入Build Path,否则会出错。
鼠标右键点击该驱动——>Build Path——>Add to Build Path
5.在src下创建一个包,包内创建一个class类
鼠标右键点击src → New → package,包名自己任意取 如jdbc;
再在该包下创建一个class类,名字为:TestJDBC
7.讲解
7.1 Java连接Mysql的代码如下:
private static String url = "jdbc:mysql://localhost:3306/test";
private static String userName = "root";
private static String password = "root";//密码自己填写
public static void main(String[] args) {
MysqlConnectTest mysql= new MysqlConnectTest();
Connection con = mysql.getConnection();
if(con==null){
System.out.println("与mysql数据库连接失败!");
}else{
System.out.println("与mysql数据库连接成功!");
}
}
7.2Mysql执行查看语句
Statement sts = null;
String sql = "select * from stu ";
ResultSet resul = null;
try {
sts = (Statement) con.createStatement();
resul = sts.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("查询的结果如下:");
while(resul.next()){
System.out.print("[");
System.out.print( resultSet.getInt(1)+" "); //第一列 对应的字段
// System.out.print( resultSet.getInt("id")+" ");
System.out.print( resultSet.getString("name")+" ");
System.out.print( resultSet.getString("sex")+" ");
System.out.println("]");
}
7.3Mysql插入语句
String sql = "insert into stu values ('6','李白','女')";
int i = 0;
try {
sts = (Statement) con.createStatement();
i = sts.executeUpdate(sql);
if(i == -1){
System.out.println("插入失敗");
}else{
System.out.println("插入成功");
}
} catch (SQLException e) {
e.printStackTrace();
}
8.完整TestJDBC.java文件(查看)
package jdbc;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TestJDBC {
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn = null;
try {
//1.数据库连接的4个基本要素
//①JDBC URL用于标识一个被注册的驱动程序,驱动程序管理器通过这个URL选择正确的驱动程序,从而建立到数据库的连接;
//jdbc:表示URL中的协议
//mysql:子协议,用于标识mysql数据库驱动程序
//localhost:本机的IP地址
//3306:mysql 默认端口号
//test:表示访问test数据库
String url = "jdbc:mysql://localhost:3306/test";
//user:登录数据库的用户名
String user = "root"; //自己的账号
//password:用户名对应的密码,这些都是自己之前设定的
String password = " "; //自己的密码
//mySql的驱动:com.mysql.jdbc.Driver
String driverName = "com.mysql.jdbc.Driver";
//2.实例化Driver
Class clazz = Class.forName(driverName);
Driver driver = (Driver) clazz.newInstance();
//3.通过DriverManager来注册驱动
DriverManager.registerDriver(driver);
//4.通过DriverManager的getConnection方法,获取Connection类的对象
conn = DriverManager.getConnection(url, user, password);
//5.打印出conn对象
System.out.println(conn);
//获取statement对象
/*Statement statement = connection.createStatement();*/
String sql = "select * from stu";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
//执行语句
/**/
ResultSet resultSet = preparedStatement.executeQuery(sql);
//返回地数据存储在result中
while (resultSet.next()){
System.out.print("[");
System.out.print( resultSet.getInt(1)+" "); //第一列 对应的字段
// System.out.print( resultSet.getInt("id")+" ");
System.out.print( resultSet.getString("name")+" ");
System.out.print( resultSet.getString("sex")+" ");
System.out.println("]");
}
if (resultSet != null){
resultSet.close();
}
if(preparedStatement != null){
preparedStatement.close();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
//当conn不为空时
if(conn != null)
//关闭conn资源
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
注:该方法并非连接MySQL的最佳方法,但是对于入门者,比较容易理解
注意:
1.要填上自己数据库账号,和 密码;
2.要创建test数据库;
3.要创建stu表;
4.stu表的属性 有 id ,name, sex
否则需要自己修改代码。
mysql驱动链接:mysql-connector-java-5.1.13.zip
代码资源:下载
最后
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。
版权声明:本文为m0_67402564原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。