JDBC
全称 Java Database Connectivity 顾名思义是java与数据库的连接。
它定义了用来访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便的访问数据库资源。
使用Java里面提供的一些类和方法,利用程序连接数据库,进行增删改查操作,这个过程叫做JDBC编程。
下面介绍一下利用java和JDBC连接mysql数据库的简单操作:
准备工作
1.引入JDBC驱动程序
安装MySQL Connector for Java 下载地址:http://dev.mysql.com/downloads/
java版本不同会要求不同的版本:
2.连接池 --> 下载c3p0
连接池 -->是在Java中获取数据库的连接,将所有的连接操作封装在一个数据库连接池负责分配、管理和释放数据库连接。
这里选择的插件是c3p0 --> 官网搜索下载,使用它还需要mchange-commons.jar
下载解压之后是:
3.创建项目,在项目中将下载好的驱动和插件配好
a.将下载好的驱动和插件复制到项目的lib文件夹下面
b.右键–> Build Path–> Add to BUild Path,弄好之后:
JDBC程序编写步骤
导入的类一般都是java.sql类
1.加载并注册驱动
使用反射的方法,加载和注册驱动
Class.forName(“con.mysql.jdbc.Driver”);
2.获得数据库连接
String url="jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8"
(避免因为字符集不同导致乱码)
String username = ‘root’;
//自己的mysql的用户名
String password = ‘123456’;
//自己的mysql设置的密码
Connnection con = DriverManager.getConnection(url,username,password);
或 --> 直接创建连接池 -->(获得数据库连接 与关闭连接 整体封装成一个类)
3.操作或访问数据库
查询操作使用
con = C3P0DataSource.getConnection();
PrepareStatement stmt = con.createStatament(sql);
ResultSet rs = stmt.excuteQuery();
if(rs.next()){}
若是更新操作
con = C3P0DataSource.getConnection();
PrepareStatement stmt = con.createStatament(sql);
int result = stmt.executeUpdate();
if(result>0){
System.out.println(’’‘删除/插入/修改操作成功’);
}else{
System.out.println(’’‘删除/插入/修改操作失败’);
}
a. Statement–>用于执行静态SQL语句,并返回它所生成结果的对象存在–>sql注入问题 -->调用Connection对象的 createStatement() 创建该对象
b. PreparetedStatement–>SQL语句被编译并存储在此,可以多次高效的执行该语句–>避免了sql注入问题–>调用Connection对象的 createprepareStatement() 创建该对象
c. CallableStatement
Statement 定义下列方法用于执行SQL语句:
int excuteUpdate(String sql): 执行更新操作:insert、update、dalete
ResultSet excuteQuery(String sql): 执行查询操作 select
ResultSet–>该对象维护可一个指向当前数据行的游标,初始的时候,游标在第一行之前,通过ResultSet对象的next()方法移动到下一行
–>通过Statement对象的excuteQuery方法创建该对象
4.释放资源
if (rs != null)rs.close();
if (stmt != null)stmt.close();
if (con != null)con.close();
创建的连接池中含有释放资源