java小程式連線dm資料庫
阿新 • • 發佈:2022-05-06
1.安裝java和jdk
1.1 方式一:自行安裝對應環境
1.2 方式二:如有安裝了oracle 或者dm 早期版本可以找找是否存在,配置下環境變數,直接用:
例如:
JAVA_HOME : C:\dmdbms\jdk\bin
JDBC 驅動包: C:\dmdbms\drivers\jdbc\ --可以放到執行目錄下,指定jar包執行。
PATH : C:\dmdbms\jdk\bin
2.驗證java
java -version -- 檢視jdk版本 ,確定jdbc使用哪個版本1.6 ~1.8.
3.編譯小程式,hello.java:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.ResultSet; import java.sql.PreparedStatement; //import dm.jdbc.driver.*; public class hello { /** * @param args * @throws Exception * @throws ClassNotFoundException */ public static void main(String[] args) throws SQLException { JdbcCon test=new JdbcCon(); try{ test.query("drop table t1"); }catch(SQLException e){} test.query("create table t1(c1 int, c2 int)"); test.query("insert into t1 values(4,1)"); test.updatecolwhere(); test.query("select * from t1", true); test.close(); } } class JdbcCon { private static Connection conn = null; //private static String driver="oracle.jdbc.OracleDriver"; private static String jdbcString = "dm.jdbc.driver.DmDriver"; //private static String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"; private static String url="jdbc:dm://223.254.18.20:8236"; //private static String username="dmhs"; private static String username="SYSDBA"; //private static String password="dmhs"; private static String password="SYSDBA"; private static synchronized Connection getConn(){ if (conn == null){ try{ Class.forName(jdbcString); conn=DriverManager.getConnection(url,username,password); }catch(ClassNotFoundException e){ e.printStackTrace(); }catch(SQLException e){ e.printStackTrace(); } } return conn; } public void updatecolwhere( ) throws SQLException{ String sql = "update T1 set C2=? where C1=?;"; PreparedStatement pstmt = getConn().prepareStatement(sql); for(int i=1;i<=2;i++){ pstmt.setString(1, String.valueOf(i+3)); pstmt.setString(2, String.valueOf(4)); pstmt.addBatch(); } pstmt.executeBatch(); getConn().commit(); } public void query(String sql, boolean isSelect)throws SQLException{ PreparedStatement pstmt; try{ pstmt = getConn().prepareStatement(sql); ResultSet rs=pstmt.executeQuery(); while(rs.next()){ String name=rs.getString("C2"); System.out.println(name); } rs.close(); pstmt.close(); }catch(SQLException e){ e.printStackTrace(); } } public void query(String sql)throws SQLException{ PreparedStatement pstmt; pstmt = getConn().prepareStatement(sql); pstmt.execute(); pstmt.close(); } public void close(){ try{ getConn().close(); }catch(SQLException e){ e.printStackTrace(); } } }
4.編譯
javac hello.java
5.執行
java -cp DmJdbcDriver18.jar; hello