说明:URL可以连接多个地址,如下:
jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT =1521))(LOAD_BALANCE = yes)(CONNECT_DATA = (SERVER =DEDICATED)(SERVICE_NAME = zhapp)))
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class BaseDaoDemo {
public static String URL = "jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))(LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER =DEDICATED)(SERVICE_NAME = zhlog)))";
public static String USERNAME="数据库用户名";
public static String PASSWORD="数据库密码";
public String DRIVER="oracle.jdbc.OracleDriver";
public Connection conn;
public static PreparedStatement ps;
public static ResultSet rs;
public static String sql;
public static void main(String[] args) {
BaseDaoDemo basedao = new BaseDaoDemo();
Connection conn = basedao.getConnection();
basedao.add(conn);
basedao.update(conn);
basedao.query(conn);
basedao.delete(conn);
basedao.close();
}
//连接数据库方法
public Connection getConnection() {
try {
Class.forName(DRIVER);//初始化驱动包
System.out.println("开始尝试连接数据库");
conn=DriverManager.getConnection(URL, USERNAME, PASSWORD);
System.out.println("连接数据库成功");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
//查询函数
public void query(Connection conn) {
sql="select * from T_BMP_ACCOUNT";
try {
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()) {
System.out.println("ID:"+rs.getString(1)+" TYPE:"+rs.getString(2)+" ACCOUNT_NAME:"+rs.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
}
}
//添加表数据
public void add(Connection conn) {
sql="insert into T_BMP_ACCOUNT(ID, TYPE, ACCOUNT_NAME, PASSWORD, NAME, CONTENT, STATUS, CREATE_TIME, "
+ "PROVINCE, CITY, CREDITCODE, STATUSDES, UPDATE_TIME, TOPIC_TYPE, RESOURCE_ID, PHONE_NO, TOP, "
+ "REGISTRATION_NUMBER, COMPANY_TYPE, CORPORATE_NAME, REGISTERED_PROVINCE, REGISTERED_CAPITAL, "
+ "TAX_REGISTRATION_NO, LEGAL_REPRESENTATIVE, COMPANY_ADDRESS)"
+ " values ('1195182306843688960', '2', '16200000000', 'wxn123', '', '', '2', "
+ "to_date('15-11-2019 11:30:42', 'dd-mm-yyyy hh24:mi:ss'), '', '', '', '', null, '', '', '16200000000',"
+ " '', '', '', '', '', '', '', '', '')";
try {
ps=conn.prepareStatement(sql);
ps.executeUpdate();
System.out.println("数据添加成功");
} catch (Exception e) {
e.printStackTrace();
}
}
//修改表数据
public void update(Connection conn) {
sql="update T_BMP_ACCOUNT set ACCOUNT_NAME='16200000001' where ID='1195182306843688960'";
try {
ps=conn.prepareStatement(sql);
ps.executeUpdate();
System.out.println("数据更新成功");
} catch (Exception e) {
e.printStackTrace();
}
}
//删除表数据
public void delete(Connection conn) {
sql="delete from T_BMP_ACCOUNT where ID='1195182306843688960'";
try {
ps=conn.prepareStatement(sql);
ps.executeUpdate();
System.out.println("数据删除成功");
} catch (Exception e) {
e.printStackTrace();
}
}
//释放资源
public void close() {
try {
try {
if (rs != null) {
rs.close(); // 关闭ResultSet对象
}
} finally {
try {
if (ps != null) {
ps.close(); // 关闭PreparedStatement对象
}
} finally {
if (conn != null) {
conn.close(); // 关闭Connection对象
}
}
}
} catch (Exception e) {
e.printStackTrace(System.err); // 输出异常信息
}
}
}