JDBC的概念
public class JDBCDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获取连接数据库对象
Connection con = DriverManager.getConnection("jdbc:mysql://192.168.23.129:3306/db4", "root", "itheima888");
//获取执行对象
Statement stat=con.createStatement();
//执行sql语句,并返回对象
String sql="SELECT * FROM user";
ResultSet rs=stat.executeQuery(sql);
//处理结果
while(rs.next()){
System.out.println(rs.getInt("id") +"\t"+rs.getString("name"));
}
//释放资源
rs.close();
stat.close();
con.close();
}
}
功能类详解:
1.DreverManger
DreverManger功能类的两种方法如下:
注册驱动 和 获取数据库连接
connection功能类
Statement功能类
ResultSet功能类
1.编写配置文件
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://192.168.23.129:3306/db14
username=root
password=itheima888
2.编写jdbc工具类
public class JDBCUtils {
//私有构造方法
private JDBCUtils() {
}
//声明所需要的配置变量
private static String driverClass;
private static String url;
private static String username;
private static String password;
//提供静态代码块,读取配置文件并赋值
static {
try {
//获取配置文件
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);
} catch (Exception e) {
e.printStackTrace();
}
}
//提供静态的获取数据库连接方法
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, username, password);
}
//提供静态的释放资源的方法
public static void close(ResultSet rs, Statement stat, Connection con){
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stat != null){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(con != null){
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//重载释放资源方法
public static void close( Statement stat, Connection con){
if(stat != null){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(con != null){
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}