概念
java连接关系型数据库的规范(interface)
JDBC HelloWorld
步骤
1.导入jar包
2.注册驱动
Class.forName("com.mysql.jdbc.Driver");
3.获取连接
Connection con = DriverManager.getConnection(url,username password);
url username password
ip:localhost或127.0.0.1
port:3306
database:jdbc
username:root
password: root
4.获取执行者对象
Statement state =connection.CreateStatement;
5.执行sql语句,并且接收结果, 获取ResultSet对象
Result rs=state.executeQuery()
增删改
Result rs=state.executeUpdate();
传入sql
Select * From student
解析ResultSet
while(rs.next()) {
System.out.println(rs.getInt("sid") + "\t" + rs.getString("name") + "\t" + rs.getInt("age") + "\t" + rs.getDate("birthday"));
}
关闭资源
rs..close();
state.close();
con.close();
JDBCUtils
配置文件config.properties
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://ip:port/db
username=root
password=root
1.私有构造方法
private JDBCUtils(){}
2.声明所需要的配置变量
private static String driverClass;
private static String url;
private static String username;
private static String password;
private static Connection con;
3.提供静态代码块。
读取配置文件的信息为变量赋值
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("config.properties");
Properties prop = new Properties();
prop.load(is);
driverClass = prop.getProperty("driverClass");
url = prop.getProperty("url");
username = prop.getProperty("username");
password = prop.getProperty("password");
注册驱动
Class.forName(driverClass);
4.提供获取数据库连接方法
public static Connection getConnection() {
try {
con = DriverManager.getConnection(url,username,password);
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
5.提供释放资源的方法
public static void close(Connection con, Statement stat, ResultSet rs) {
if(con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stat != null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
方法重载
public static void close(Connection con, Statement stat) {
if(con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stat != null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}