eclipse连接MySQL
操作步骤:
//第一步、连接字符串
格式: jdbc:dbType://[host][.failoverhost…][:port]/[database][?propertyName1][=propertyValue1][&propertyName2] [=propertyValue2]…
实例 jdbc:mysql://localhost:3306/java
* 参数解释:
* 1.jdbc是指定使用的驱动程序类型
* 2.mysql是指定连接mysql数据库服务器
* 3.localhost是指定要连接的MySQL服务器地址
* 4.3306是指定要连接的MySQL服务器监听的端口号
* 5.java是指定要链接数据库服务器中的那个数据库
//第二步、加载驱动程序
//Class.forName(数据库驱动类所在包含路径);
//Class.forName():的功能就是要求jvm查找并加载指定类
//实例: Class.forName(“com.mysql.jdbc.Driver”);
//第三步、创建与数据库的连接
//Java操作数据库都是建立在与数据库的连接之上的,这个连接相当于一个Java程序与数据库之间的通道
//Java通过这个通道与数据进行交互
//实例: DriverManager.getConnection(“jdbc:mysql://localhost:3306/java”,“root”,“root”);
//第四步、创建执行sql语句的对象
* 1.createStatement:调用此方法创建对象,可以直接执行sql语句,但是没有办法对sql语句进行预编译,很容易存在sql注入漏洞
* 2.prepareStatement:调用此方法创建的对象,可以直接执行sql语句,并且可以对sql语句进行预编译(把执行需要的参数进行抽象化处理,参数
* 可以单独传递,参数不回进行编译),能有效防止sql注入漏洞
//第五步、执行sql语句
//1.execute:用于增删改三种操作的sql语句,返回值是boolean类型
//2.execute:用于自还行查询操作的sql语句,返回值是一个结果集
//第六步、Java操作数据返回的结果集(查询)
* 返回结果是ResuSet,通过循环可以直接遍历得到数据库表中的数据
ResultSet rs = statement.executeQuery(“select * from t persons”);
while(res.next){
System.out.print(rs.getString(“sno”)+" “);
System.out.print(rs.getString(“sname”)+” “);
System.out.print(rs.getString(“ssex”)+” “);
System.out.print(rs.getString(“sphoto”)+” “);
System.out.println(rs.getString(“sphone”)+” ");
}
输出格式:System.out.println(rs.getLong(“ID”)); get***()的参数主要获取数据的列名,***是该列的数据类型
//第七、关闭资源
//1.关闭执行sql语句的资源
//2.关闭连接资源
rs.close();
st.close();
conn.close();
实现代码一、:
package 连接;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
public class Demo连接_03{
public static void main(String[] args) throws ClassNotFoundException,SQLException { //自定义异常
//编写连接字符串
//String connStr = "jdbc:sqlserver://localhost:3306/LaptopuseUnicode=true&characterEncoding=GBK";
//String connStr ="jdbc:mysql://localhost:3306/java?serverTimezone-UTC";
String connStr ="jdbc:mysql://localhost:3306/xsglxt?useUnicode=true&characterEncoding=UTF-8";
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//创建连接
Connection conn = DriverManager.getConnection(connStr,"root","root");
//执行sql语句的对象
Statement st = conn.createStatement();
//执行sql语句:返回值进行处理
ResultSet rs = st.executeQuery("select * from student");
while(rs.next()) { //rs用完需要关闭
System.out.print(rs.getString("sno")+" ");
System.out.print(rs.getString("sname")+" ");
System.out.print(rs.getString("ssex")+" ");
System.out.print(rs.getString("sphoto")+" ");
System.out.println(rs.getString("sphone")+" ");
}
//关闭资源
rs.close();
st.close();
conn.close();
}
}
实现代码二、、
package 连接;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
public class Main {
public static void main(String [] args){
//安装驱动
String driverName="com.mysql.jdbc.Driver";
//创建字符连接
String dbURL ="jdbc:mysql://localhost:3306/xsglxt?useUnicode=true&characterEncoding=UTF-8";
//用户名
String UserName="root";
//密码
String PassWord="root";
try{
Class.forName(driverName);
System.out.println("加载驱动成功!");
}catch(Exception e){
e.printStackTrace();
System.out.println("加载驱动失败!");
}try{
Connection dbConn=DriverManager.getConnection(dbURL,UserName,PassWord);
System.out.println("连接数据库成功!");
}catch(Exception e){
e.printStackTrace();
System.out.print("SQL Server连接失败!");
}
}
}
常见错误:
1、No suitable driver found for jdbc:mysql://localhost:3306/ 问题
一:连接URL格式出现了问题
(Connectionconn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/XX”,“root”,“XXXX”)
二:驱动字符串出错
(com.mysql.jdbc.Driver)
三:Classpath中没有加入合适的mysql_jdbc驱动(驱动要和你的数据库版本一致)
在环CLASSPATH的环境变量后面加上(;C:\mysql-connector-java-5.1.37\mysql-connector-java-5.1.37-bin.jar)加上你的驱动的路径 注意:要以英文分号隔开
四:驱动jar包放的位置不对
大部分都是遇到了第四类
找到JAVA安装的目录
然后把下载的驱动包mysql-connector-java-5.1.37-bin.jar放到ext文件夹下面
如果不晓得JAVA安装在什么位置就用搜索框搜索ext文件:
最终效果如下:
2.下面这张图大致可以解决问题