oracle java驱动下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
mysql java驱动下载地址:https://dev.mysql.com/downloads/connector/j/
导入包:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
声明变量:
private static String USERNAMR = "lsdb"; //数据库用户名,在mysql所有数据库用户名密码是一样的,oracle各数据库的用户名密码是单独设置的
private static String PASSWORD = "lsdb123#"; //数据库密码
private static String ORACLE_DRVIER = "oracle.jdbc.OracleDriver"; //Oracle数据库驱动写法
private static String MySQL_DRVIER = "com.mysql.jdbc.Driver" //MySQL数据库驱动写法
private static String ORACLE_URL = "jdbc:oracle:thin:@192.168.220.128:1521:lsdb"; //Oracle数据库URL写法,lsdb是要连接的数据库
private static String MySQL_URL = "jdbc:mysql://127.0.0.1:3306/banksystem"; //MySQL数据库URL写法,banksystem是要连接的数据库
连接:
Class.forName(DRVIER);
Connection conn = DriverManager.getConnection(URL, USERNAMR, PASSWORD);
操作:
String sql = "insert into userx values(?,?)"; //要执行的sql语句
PreparedStatement pstm = conn.prepareStatement(sql); //预编译对象
pstm.setString(1, username); //1表示第一个问号的内容
pstm.setString(2, password); //2表示第一个问号的内容
pstm.executeUpdate(); //增删改使用
ResultSet rs = pstm.executeQuery(); //查使用
while(rs.next()){
int userid = rs.getInt("userid"); //取查询结果集合中的“userid”列,取为整型
String password = rs.getString("password"); //取查询结果集合中的“password”列,取为字符串型
}
说明:
由此可以看出数据库的操作书写格式由编程语言决定而不由数据库决定;同种语言操作不同数据库其语言风格基本是一致的。
另外Oracle好像是有缓存机制,在活动窗口中增删改了数据只有退出窗口后在其他地方才会看到改变(至少sqlplus是如此)。