目录:
1.看一个例子:连接mysql数据库
2.相关类
3.关于数据库事务
PS:需要注意的是:在数据包涵中文字符时,可能会出现SQLExceptio(识别不了sql中的字符),这时需要检查数据库的字符集、表的字符集、连接的字符集是否支持中文。
1.看一个例子:连接mysql数据库
1.1使用JDBC连接Mysql数据库步骤:
1.1.1下载Mysql的jdbc驱动
将下载的压缩包解压缩,然后将里面的jar包导入到项目中(通过build path导入到项目lib库)
1.1.2
标准流程为:
一:加载驱动(加载并创建驱动实例)
二:调用DriverManager创建Connection实例
三:使用Connection,Statement,ResultSet操作数据库,获取结果集
1.1.3 实例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC {
public static void main(String args[])
{
Connection conn = null;
String sql;
String url = "jdbc:mysql://localhost:3306/test?"
+ "user=test&password=test&useUnicode=true&characterEncoding=UTF8";
try {
Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动,并创建实例
System.out.println("成功加载MySQL驱动程序");
// 一个Connection代表一个数据库连接
conn = DriverManager.getConnection(url);
// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
Statement stmt = conn.createStatement();
sql="CREATE TABLE if not exists `student`(`NO` int( 10 ) NOT NULL PRIMARY KEY AUTO_INCREMENT , `name` varchar( 20 ) CHARACTER SET utf8 COLLATE utf8_bin) CHARSET utf8 COLLATE utf8_bin";
int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
if (result != -1)
{
System.out.println("创建数据表成功");
sql = "insert into student(name) values('陶伟基')";
result = stmt.executeUpdate(sql);
sql = "insert into student(name) values('周小俊')";
result = stmt.executeUpdate(sql);
sql = "select * from student";
ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值
System.out.println("学号\t姓名");
while (rs.next())
{
System.out.println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int类型可以用getInt()
}
}
} catch (SQLException e) {
System.out.println("MySQL操作错误");
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
2.相关类
2.1 关于JDBC,Driver接口
这里所谓的驱动,其实就是实现了java.sql.Driver接口的类。如oracle的驱动类是 oracle.jdbc.driver.OracleDriver.class(此类可以在oracle提供的JDBC jar包中找到),此类实现了java.sql.Driver接口。
由于驱动本质上还是一个class,将驱动加载到内存和加载普通的class原理是一样的:使用Class.forName(“driverName”)。以下是将常用的数据库驱动加载到内存中的代码:
驱动加载入内存的过程
注意:Class.forN