JDBC常用代码

1.Driver接口及驱动类加载
驱动类加载方式(Oracle):
Class.forName("oracle.jdbc.driver.OracleDriver");
装载驱动类,驱动类通过static块实现在DriverManager中的"自动注册"
MySQL
Class.forName("com.mysql.jdbc.Driver");

2.Connection接口
Connection conn=DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.0.26:1521:tarena",
"openlab","open123");
Connection 只是接口!真正的实现是由数据库厂商提供的驱动包完成的

3.Statement接口
Statement stmt=conn.createStatement();

boolean flag=stmt.execute(sql);
ResultSet rs=stmt.executeQuery(sql);
int flag=stmt.executeUpdate(sql);

4.ResultSet接口
ResultSet rs=
while(rs.next()){
System.out.println(rs.getInt("empno")...
}

5.ResultSet对象的最初位置在行首
ResultSet.next()方法用来在行间移动
ResultSet.getXXX()方法用来取得字段的内容

6.public class EmpDAO {
public static void main(String[] args){
EmpDAO dao=new EmpDAO();
dao.findAll();
}
public void findAll(){
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/luzhichao",
"root",
"lu123456");
stmt=con.createStatement();
rs=stmt.executeQuery("SELECT * FROM emp_lu");
while(rs.next()){
System.out.println(rs.getInt("empno")+","+rs.getString("ename")+","
+rs.getDouble("sal")+","+rs.getDate("hiredate"));
}
}catch(ClassNotFoundException e){
System.out.println("驱动类无法找到!");
throw new RuntimeException(e);
}catch(SQLException e){
System.out.println("数据库访问异常!");
throw new RuntimeException(e);
}finally{
try{
if(rs!=null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(con!=null){
con.close();
}
}catch(SQLException e){
System.out.println("关闭连接时发生异常!");
}
}
}
}

7.从类路径中加载属性文件
String path="com/tarena/dms/daodemo/v2/db.properties";
properties.load(DBUtility.class.getClassLoder().getResourceAsStream(path));

properties.getProperty("");

8.通过DataSource获取连接
通过属性文件获取连接池参数
加载这些参数,获得连接
private static BasicDataSource dataSource=new BasicDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
Connection conn=dataSource.getConnection();

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。