原生jdbc操作mysql数据库详解

首先给大家说一下使用JDBC链接数据库的步骤

  1.加载链接数据库驱动

  2.建立数据库链接

  3.创建数据库操作对象

  4.编写sql语句,执行sql语句

  5.获取结果集

  6.释放资源

我这边采用的是maven构建工具创建的java项目;如果不使用maven创建的话也没有什么不同,因为都是在main方法里面写的嘛!

只是需要导入jdbc需要的jar包即可,然后下面建项目的这些步骤就可以直接跳过了

  首先点击新建项目

如果你的这里没有Maven Project 这个选项的话,那就直接点击Other,有的话就直接点击Maven项目即可!

原生jdbc操作mysql数据库详解

点完以后在这里搜索maven也是一样的,选择Maven  Project   然后next

原生jdbc操作mysql数据库详解

直接使用默认  继续next

原生jdbc操作mysql数据库详解

找到我选中的那一条   ,其他地方不用填 ,继续next

原生jdbc操作mysql数据库详解

主要目的不是为了构建项目,所以这上面两个需要填写的地方可以随意些,上面的代表包名 ,第二个代表项目名,然后Finish

原生jdbc操作mysql数据库详解

然后在pom.xml里面加入如下配置;我是不记得需要那几个jar包了,所以直接全部放进去了,哈哈哈哈哈

原生jdbc操作mysql数据库详解

现在开始就要写代码了,首先建一个main方法,很简单的写一个例子

package com.TestJDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* Hello world!
*
*/
public class Demo01
{
public static void main( String[] args )
{
Connection connection=null ;
Statement statement=null;
ResultSet resultSet = null;
try {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01","root","root"); //3.获取执行sql对象
statement = connection.createStatement();
//4.编写sql语句,执行sql
String sql="select * from stu";
//5.获取结果集 ,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)
//如果是增删改操作,失败了会返回0
resultSet = statement.executeQuery(sql);
if(resultSet.next()){
          //获取字符串类型的值
String name = resultSet.getString("name");
String sex = resultSet.getString("sex");
            //获取int型的值
int age = resultSet.getInt("age");
System.out.println(name+" ,"+sex+","+age);
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//6.释放连接
if(resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(statement!=null){
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(connection!=null){
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}

下面改了一下,是一个预编译的案例

package com.TestJDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /**
* Hello world!
*
*/
public class Demo01 {
public static void main(String[] args) {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01", "root", "root"); // 3.获取执行sql对象
// 4.编写sql语句,执行sql(预编译,用?号代替值)
String sql = "select * from stu where id=?";
statement = connection.prepareStatement(sql);
//然后再设置进去,可以设置多个值
statement.setString(1, "1");
resultSet = statement.executeQuery();
// 5.获取结果集
// ,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)
// 如果是增删改操作,失败了会返回0
if (resultSet.next()) {
// 获取字符串类型的值
String name = resultSet.getString("name");
String sex = resultSet.getString("sex");
// 获取int型的值
int age = resultSet.getInt("age");
System.out.println(name + " ," + sex + "," + age);
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// 6.释放连接
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
上一篇:跨域技术(JSONP与CROS)


下一篇:Java第三十五天,用JDBC操作MySQL数据库(一),基础入门