1.导入jar包mysql-connector-java-版本号-bin.jar
(官方提供的下载连接https://dev.mysql.com/downloads/connector/j/)
2.写代码
a.写配置文件 jdbc.properties
DRIVERNAME=com.mysql.jdbc.Driver
URL=jdbc:mysql:///day06
USER=root
PASSWORD=root
b.进行封装(打开或关闭数据库)JDBCUtil.java
package cn.com.it.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class JDBCUtil {
/**
* 驱动名
*/
private static final String DRIVATENAME;
/**
* 连接url
* (1)jdbc:mysql://localhost:3306/day06?useUnicode=true&characterEncoding=utf-8
* (2)jdbc:mysql://[ip地址]:[端口号]/[库名] (3)连接我本地数据库 ; 端口号是3306 jdbc:mysql:///库名
*/
private static final String URL;
/**
* 用户名
*/
private static final String USERNAME;
/**
* 密码
*/
private static final String PASSWORD;
static {
// 读取配置文件获取连接数据库的属性
ResourceBundle bundle = ResourceBundle.getBundle("jdbc");//需要将配置文件jdbc.properties放在src下,也可以用别的方式
DRIVATENAME = bundle.getString("DRIVATENAME");
URL = bundle.getString("URL");
USERNAME = bundle.getString("USERNAME");
PASSWORD = bundle.getString("PASSWORD");
}
static {
// 注册驱动
try {
Class.forName(DRIVATENAME);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new RuntimeException("注册驱动失败");
}
}
/**
* 创建连接对象
*
* @return Connection
*/
public static Connection getConnection() {
Connection connection = null;
try {
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("创建连接对象失败");
}
return connection;
}
/**
* 关闭资源
*
* @param rs
* @param st
* @param conn
*/
public static void closeResource(ResultSet rs, Statement st, Connection conn) {
try {
if (null != rs) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭资源失败");
} finally {
try {
if (null != st) {
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭资源失败");
} finally {
try {
if (null != conn) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭资源失败");
}
}
}
}
}
c.写Demo来执行相关操作 Demo.java
package cn.com.it.main;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import cn.com.it.util.JDBCUtil;
public class Demo {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try {
//获得连接
conn = JDBCUtil.getConnection();
//创建操作数据库对象,预编译sql
//String sql = "insert into user (id,name,password) values (null,?,?)";
String sql = "select * from user";
st = conn.prepareStatement(sql);
/*Statement常用的方法
* executeQuery("sql语句"):用于关键字select ,返回值是一个结果集
* executeUpdate("sql") : 用于关键字 update delete insert 返回值是一个int类型的值 (受到影响的数据条数)
* execute("语句"){了解} :如果我们写select 语句 那么返回true 如果 update delete insert 返回false
*/
//进行赋值 ?:占位符 setXxx(占位符的位置(从一开始),相应的值)
st.setString(1, "zhangsan");
st.setString(2, "aaaaaaaa");
//执行sql与返回结果集
rs = st.executeQuery();
while (rs.next()) {
/*
* rs.getXxx(String 字段的名字);
* rs.getXxx(int 索引值(从1开始));
*/
String id = rs.getString("id");
String name = rs.getString(2);
System.out.println(id + "-------" + name);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
JDBCUtil.closeResource(rs, st, conn);
}
}
}
(官方提供的下载连接https://dev.mysql.com/downloads/connector/j/)
2.写代码
a.写配置文件 jdbc.properties
DRIVERNAME=com.mysql.jdbc.Driver
URL=jdbc:mysql:///day06
USER=root
PASSWORD=root
b.进行封装(打开或关闭数据库)JDBCUtil.java
package cn.com.it.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class JDBCUtil {
/**
* 驱动名
*/
private static final String DRIVATENAME;
/**
* 连接url
* (1)jdbc:mysql://localhost:3306/day06?useUnicode=true&characterEncoding=utf-8
* (2)jdbc:mysql://[ip地址]:[端口号]/[库名] (3)连接我本地数据库 ; 端口号是3306 jdbc:mysql:///库名
*/
private static final String URL;
/**
* 用户名
*/
private static final String USERNAME;
/**
* 密码
*/
private static final String PASSWORD;
static {
// 读取配置文件获取连接数据库的属性
ResourceBundle bundle = ResourceBundle.getBundle("jdbc");//需要将配置文件jdbc.properties放在src下,也可以用别的方式
DRIVATENAME = bundle.getString("DRIVATENAME");
URL = bundle.getString("URL");
USERNAME = bundle.getString("USERNAME");
PASSWORD = bundle.getString("PASSWORD");
}
static {
// 注册驱动
try {
Class.forName(DRIVATENAME);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new RuntimeException("注册驱动失败");
}
}
/**
* 创建连接对象
*
* @return Connection
*/
public static Connection getConnection() {
Connection connection = null;
try {
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("创建连接对象失败");
}
return connection;
}
/**
* 关闭资源
*
* @param rs
* @param st
* @param conn
*/
public static void closeResource(ResultSet rs, Statement st, Connection conn) {
try {
if (null != rs) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭资源失败");
} finally {
try {
if (null != st) {
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭资源失败");
} finally {
try {
if (null != conn) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("关闭资源失败");
}
}
}
}
}
c.写Demo来执行相关操作 Demo.java
package cn.com.it.main;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import cn.com.it.util.JDBCUtil;
public class Demo {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try {
//获得连接
conn = JDBCUtil.getConnection();
//创建操作数据库对象,预编译sql
//String sql = "insert into user (id,name,password) values (null,?,?)";
String sql = "select * from user";
st = conn.prepareStatement(sql);
/*Statement常用的方法
* executeQuery("sql语句"):用于关键字select ,返回值是一个结果集
* executeUpdate("sql") : 用于关键字 update delete insert 返回值是一个int类型的值 (受到影响的数据条数)
* execute("语句"){了解} :如果我们写select 语句 那么返回true 如果 update delete insert 返回false
*/
//进行赋值 ?:占位符 setXxx(占位符的位置(从一开始),相应的值)
st.setString(1, "zhangsan");
st.setString(2, "aaaaaaaa");
//执行sql与返回结果集
rs = st.executeQuery();
while (rs.next()) {
/*
* rs.getXxx(String 字段的名字);
* rs.getXxx(int 索引值(从1开始));
*/
String id = rs.getString("id");
String name = rs.getString(2);
System.out.println(id + "-------" + name);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
JDBCUtil.closeResource(rs, st, conn);
}
}
}