1》java连接oracl数据库,
首先得添加oracl驱动;
--------------jdbc
Java Database Connection
和具体的数据库产品没有关系,在Java中提供的一套用来访问连接数据库的类
1.给项目添加oracle数据库驱动包
鼠标右键项目==》[BuildPath ]-->[add external Archives]
选择对应的驱动包文件。
2.移除第三方的jar包
鼠标右键项目--》【porperties】->>右边【java Build path】--》【libraies】选中要移除的包
在下面有下载,mysql和oracl驱动我都有上传;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class Dbutil {
private static Connection conn;
public static Connection getConn() throws Exception{
if(conn==null){
//1.装载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.定义连接url
String url="jdbc:oracle:thin:@localHost:1521:ORCL";
//3.获得连接(Connection连接类)
conn=DriverManager.getConnection(url, "scott", "123456");
}
return conn;
}
}
//连接数据库后的操作
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//7个步骤oracle
public class Demo3 {
public static void main(String[] args) {
checkLogin("JAMES","CLERK");
System.out.println("--------------------------------");
checkLogin("1' or '1' ='1","'1 or '1'='1");
}
public static void updateEmp(){
try {
Connection conn=Dbutil.getConn();
//4.获得sql语句的编译和执行对象
Statement stm=conn.createStatement();
//5.编写sql语句
String sql="update empbak set sal=1234 where empno=7499";
//6.编译并执行语句
int t= stm.executeUpdate(sql);//返回有多少条数据被影响(改变)
System.out.println("更新完毕,"+t+"行数据被更新");
//7.关闭资源
stm.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void getemp(){
try {
Connection conn=Dbutil.getConn();
//4.获得sql语句的编译和执行对象
Statement stm=conn.createStatement();
//5.编写sql语句
String sql="select ename,empno,sal from empbak";
ResultSet rs =stm.executeQuery(sql);//ResultSet一个集合,保存数据,executeQuery方法(没有改变数据,用这个)
//提取结果
while(rs.next()){
//提取第一列数据
// String str=rs.getString(1);
// int num= rs.getInt(2);
// float sal=rs.getFloat(3);
String str=rs.getString("ename");
int num= rs.getInt("empno");
float sal=rs.getFloat("sal");
System.out.println(str+" "+num+" "+sal);
}
rs.close();
stm.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void checkLogin(String name,String pwd){
try {
Connection conn =Dbutil.getConn();
Statement stm=conn.createStatement();
String sql="select ename,job from empbak where ename=? and job=?"; //?为占位符
// 获得SQL的预编译对象,同时编译SQL语句 ,pstm对象中包含被编译的sql语句, 先 编译,在赋值给?
PreparedStatement pstm=conn.prepareStatement(sql);
//编译后再赋值,
pstm.setString(1,name);
pstm.setString(2,pwd);
//使用预编译的对象执行的时候不需要传入sql语句
ResultSet rs=pstm.executeQuery();
if(rs.next()){
String ename=rs.getString("ename");
String job=rs.getString("job");
System.out.println("可以登录!!!");
System.out.println(ename+" "+job);
}
else{
System.out.println("失败!!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2》连接mysql数据库:
同样得先添加数据库驱动
只是截取了一部分
Connection conn;
Class.forName("com.mysql.jdbc.Driver");
String dburl="jdbc:mysql://localhost/blog?user=root&password=123456&useUnicode=true&characterEncoding=gb2312";
conn=DriverManager.getConnection(dburl);