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.Driverurl=jdbc:mysql://192.168.23.129:3306/db14username=rootpassword=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();}}}}
连接池
自定义数据库连接池(DataSource)



