1.JDBC连接数据库思路图解:
以上图片是连接的一种最基本的调用关系
以下是常用的连接的一种方式:
package studyjava;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class day_3 {
public static void main(String[] args) throws SQLException, Exception {
InputStream resourceAsStream =
day_3.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties pros = new Properties();
pros.load(resourceAsStream);
String driverClass = pros.getProperty("driverClass");
String url = pros.getProperty("url");
String userName = pros.getProperty("user");
String password = pros.getProperty("password");
//2.加载驱动
Class.forName(driverClass);
//3.获取连接
Connection conn = DriverManager.getConnection(url, userName, password);
System.out.println(conn);
}
}
2.操作数据库思路图解
连接数据库工具类 JDBCUtils.java :
连接信息直接修改 该图片中文件的信息即可:
用的时候 直接连接调用该类中的getConnection方法即可
关闭数据源直接调用closeResource方法
package com.util;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;
/**
* 数据库连接的通用类,提供连接数据库、关闭数据源等操作
*/
public class JDBCUtils {
/**
* 关闭资源的操作
* @param conn
* @param ps
*/
public static void closeResource(Connection conn,PreparedStatement ps){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps != null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 获取数据库连接
*/
public static Connection getConnection() throws Exception {
// 1.加载配置文件,读取4个基本信息 也就是在jdbc.properties文件中有driver url username password信息
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties pros = new Properties();
pros.load(is);
String driverClass = pros.getProperty("driverClass");
String url = pros.getProperty("url");
String userName = pros.getProperty("userName");
String password = pros.getProperty("password");
// 2.加载驱动 利用反射的原理
Class.forName(driverClass);
// 3.获取连接
Connection conn = DriverManager.getConnection(url, userName, password);
return conn;
}
}
增删改 数据库表的信息通用工具类:
/**
*@paramsql语句
*@param利用可变形参来表示sql中的占位符
*/
public void update(String sql,Object ...objs){
Connection conn = null;
PreparedStatement ps = null;
try {
//1.获取数据库的连接
conn = JDBCUtils.getConnection();
//2.通过连接,获取PreparedStatement的实例
ps = conn.prepareStatement(sql);
//3.填充占位符
for(int i = 0; i < objs.length;i++){
ps.setObject(i + 1, objs[i]);
}
//4.执行操作
ps.execute();
} catch (Exception e) {
e.printStackTrace();
}finally{
//5.关闭连接等操作
JDBCUtils.closeResource(conn, ps);
}
}
查询方法:
java获取列名和列类型::java获取数据库的列名、类型等信息
https://www.cnblogs.com/henuyuxiang/p/6155935.html