Java编程学习之JDBC连接MySQL
JDBC连接MySQL
一、对JDBC连接数据库的步骤
1.加载数据库驱动
//加载驱动
Class.forName(driverClass)
----------------------------------
//加载MySQL驱动
Class.forName("com.mysql.jdbc.Driver");
//加载Oracle驱动
Class.forName("oracle.jdbc.Driver.OracleDriver");
2.通过DriverManager获取数据库连接
//获取数据库连接
DriverManager.getConnection(String url,String user,String pass)
---------------------------------------------
MySQL的URL写法:jdbc:mysql://hostname:port/databasename
Oracle的URL写法:jdbc:oracle:thin:@hostname:port:databasename
3.通过Connection对象创建Statement对象,Connection创建Statement的方法:
createStatement():创建基本的Statement对象
prepareStatement(String sql):根据传入的SQL语句创建预编译的Statement对象
prepareCall(String sql):根据传入的SQL语句创建CallableStatement对象
4.使用Statement执行SQL语句。
execute:可以执行任何SQL语句
executeUpdate:主要用于执行DML和DDL语句。执行DML返回受SQL语句影响的行数,执行DDL返回0
executeQuery:只能执行查询语句,执行后返回代表查询结果的ResultSet对象
5.操作结果集
6.回收数据库资源
❤Java初高级学习分享,共同学习才是最明智的选择,喜欢的话可以我的学习群64弍46衣3凌9,或加资料群69似64陆0吧3(进群备注平台名)
二、例子
import java.sql.*;
public class ConnMySQL{
public static void main(String[] args) throws Exception{
//加载MySQL驱动
Class.forName("com.mysql.jdbc.Driver");
//获取数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test_cyw","root","root");
//通过Connection对象创建Statement对象
Statement stmt = conn.createStatement();
//
ResultSet rs = stmt.executeQuery("select * from t_student");
while(rs.next()){
System.out.println(rs.getInt(1) + "\t"
+ rs.getString(2) + "\t"
+ rs.getString(3));
}
//关闭数据库资源
if(rs != null){
rs.close();
}
if(stmt != null){
stmt.close();
}
if(conn != null){
conn.close();
}
}
}
---------------
在操作过程中出现问题:
1.JDBC数据库连接异常
异常情况:Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
问题说明:找不到mysql的驱动类
解决方法:
在环境变量的CLASSPATH中添加mysql-connector-java-5.1.20-bin.jar就可以了
本机的路径是:C:\Program Files\MySQL\MySQL Connector J\mysql-connector-java-5.1.20-bin.jar
2.MySql中文显示乱码
mysql> select * from t_student;
+----+------+-----+
| ID | NAME | SEX |
+----+------+-----+
| 1 | cyw | 鐢? |
| 2 | ly | 鐢? |
| 3 | gs | 濂? |
+----+------+-----+
3 rows in set (0.00 sec)
解决方法:
mysql> set names 'gbk'
对JDBC对数据库的连接,目前只是对MySQL的连接,分享和大家互相学习
❤提问/互动请留言,可直接在最底右下方"写留言即可"
❤如果觉得写得不错请点击“订阅”,每天更新全新的内容!
❤你们的喜欢和关注就是我最大的动力支撑!!!