JDBC连接MySQL(详解)(Java database connectivity)
使用jdbc连接操作MySQL数据库,为五步:
1加载(注册)驱动程序,需要下载对应数据库的驱动jar包放在项目中
(为什么要下载驱动,就像鼠标和键盘,要用鼠标和键盘,就要有鼠标和键盘的驱动,数据库也如此jar包的版本要与Mysql数据库的版本一致或者大于数据库的版本)
DriverManager.registerDriver方法或Class.forName
2.建立连接,连接对应的库
DriverManager类,Connection接口
3.向数据库发送SQL语句,执行增删改查
Statement接口,PreparedStatement接口
4.处理返回结果集
ResultSet接口
5.关闭连接
close()方法
如:
1.加载MySQL数据库驱动程序(包名为“mysql-connector-java-5.1.37-bin”)
DriverManager.registerDriver(new Driver()); //不常用
或Class.forName(“com.mysql.jdbc.Driver”); //常用
2.使用DriverManager类的getConnection()方法与本地MySQ数据库建立连接
Connection con=DriverManager.getConnection(“jdbc:mysql:
//127.0.0.1:3306/database_name”,”root”,”password”);
3.实例化用来执行静态SQL语句工具的接口Statement或其子接口用来执行动态SQL语句工具的接口PreparedStatement(获取操作数据库的对象)
Statement st=con.createStatement();
此处不介绍PreparedStatement,但常用的是后者,详细如本文下面的图解
4.发送SQL语句并返回结果集
ResultSet rs=st.executeQuery(“SQL语句”);
以上为基础知识的铺垫,详细使用如下图:
入门案例使用:
为什么使用反射Class与不使用Statement:
替代Statement的PreparedStatement接口的使用:
看到这里已经基本学会增删改查,实际使用时会用连接数据库的帮助类和连接池等知识:
下面为帮助类:
连接池的使用,每次使用Connection时,都要打开-关闭,打开-关闭,比较耗性能,所以可以直接创立多个Connection对象放在一块地方,想用的时候直接往里面取,用完再放回去,这样就不用每次使用都创立,这块地方就是连接池
了解c3p0连接池前,先了解一下自定义连接池:
Jdk也有其连接池,使用时创建类继承它的接口DataSource,重写其方法即可,如下
下面是从网上下载从c3p0连接池(网上有很多种功能强大连接池,所以不需要我们手写连接池),下面为c3p0的手动配置
C3p0的自动配置是通过配置文件,来配置一些基本信息,可以用xml也可以用properties文件需要放到src目录下(可在网上下载),它就可以自动读取到。
如xml文件配置:
其使用:
下面为模拟简单登录查询(没有界面):
ss