mysql部分转于https://www.cnblogs.com/GarfieldEr007/p/5746137.html
JAVA连接MySQL稍微繁琐,所以先写一个类用来打开或关闭数据库:
DBHelper.java(在这个类最后释放连接资源的时候,要加变量=null,第一是为了不然其他用户使用这个资源,第二是为了方便java的垃圾回收,需要改进,在我下面oracle的例子中就体现出来了)
package com.hu.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBHelper {
public static final String url = "jdbc:mysql://127.0.0.1/student";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "root";
public Connection conn = null;
public PreparedStatement pst = null;
public DBHelper(String sql) {
try {
Class.forName(name);//指定连接类型
conn = DriverManager.getConnection(url, user, password);//获取连接
pst = conn.prepareStatement(sql);//准备执行语句
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
this.conn.close();
this.pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
再写一个Demo.java来执行相关查询操作
Demo.java(在这个类最后释放连接资源的时候,要加变量=null,第一是为了不然其他用户使用这个资源,第二是为了方便java的垃圾回收,需要改进,在我下面oracle的例子中就体现出来了)
package com.hu.demo;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Demo {
static String sql = null;
static DBHelper db1 = null;
static ResultSet ret = null;
public static void main(String[] args) {
sql = "select *from stuinfo";//SQL语句
db1 = new DBHelper(sql);//创建DBHelper对象
try {
ret = db1.pst.executeQuery();//执行语句,得到结果集
while (ret.next()) {
String uid = ret.getString(1);
String ufname = ret.getString(2);
String ulname = ret.getString(3);
String udate = ret.getString(4);
System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate );
}//显示数据
ret.close();
db1.close();//关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}
对应的oracle代码为:
JDBCUtils.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtils {
private static String driver="oracle.jdbc.OracleDriver";
private static String url="jdbc:oracle:thin:@localhost:1521/orcl";
private static String user="scott";
private static String password="098879";
static{
//注册驱动
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection(){
try {
return DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static void release(Connection conn,Statement st,ResultSet rs){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs=null;//Java GC:java的GC不受代码的控制
}
}
if(st!=null){
try{
st.close();
}catch(Exception e){
e.printStackTrace();
}finally{
st=null;
}
}
if(conn!=null){
try{
conn.close();
}catch(Exception e){
e.printStackTrace();
}finally{
conn=null;
}
}
}
}