-
Couldn't load subscription status.
- Fork 89
Jdbc
iamazy edited this page Jan 10, 2020
·
3 revisions
Elasticsearch-SQL JDBC驱动
static final String JDBC_DRIVER = "io.github.iamazy.elasticsearch.dsl.jdbc.ElasticDriver";
Elasticsearch-SQL JDBC连接字符串
static final String DB_URL = "jdbc:es://localhost:9200/index_demo1?useSSL=true&mode=single";
其中:
static final String DB_URL = "jdbc:es://localhost:9200,localhost:9201/index_demo1,index_demo2?useSSL=true&mode=single";
🐖:查询语句中的表名必须包含在连接字符串索引列表之中
private static void conn1(){ Connection conn = null; Statement stmt = null; try{ Class.forName(JDBC_DRIVER); conn = DriverManager.getConnection(DB_URL,USER,PASS); stmt = conn.createStatement(); String sql; sql = "SELECT * FROM index_demo1 where name = 'iamazy' limit 10"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ String id = rs.getString("_id"); String name = rs.getString("name"); String url = rs.getString("list"); System.out.print("ID: " + id); System.out.print(", 站点名称: " + name); System.out.print(", 站点 URL: " + url); System.out.print("\n"); } rs.close(); stmt.close(); conn.close(); } catch(Exception se){ se.printStackTrace(); } finally{ try{ if(stmt!=null) stmt.close(); }catch(SQLException ignored){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } }
public static void insert1(){ Connection conn = null; Statement ps = null; try{ Class.forName(JDBC_DRIVER); conn = DriverManager.getConnection(DB_URL,USER,PASS); String sql = "insert into index_demo1(name,age,list,_id) values('aaa',11,[1,2,2,1],111)"; ps = conn.createStatement(); int rs = ps.executeUpdate(sql); System.out.println(rs); ps.close(); conn.close(); } catch(Exception se){ se.printStackTrace(); } finally{ try{ if(ps!=null) ps.close(); }catch(SQLException ignored){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } }
public static void prepareStatement1(){ Connection conn = null; PreparedStatement ps = null; try{ Class.forName(JDBC_DRIVER); conn = DriverManager.getConnection(DB_URL,USER,PASS); String sql = "SELECT * FROM index_demo1 where name =? and age = ? limit 10"; ps = conn.prepareStatement(sql); ps.setString(1,"aaa"); ps.setInt(2,111); ResultSet rs = ps.executeQuery(); while(rs.next()){ String id = rs.getString("_id"); String name = rs.getString("name"); String url = rs.getString("list"); System.out.print("ID: " + id); System.out.print(", 站点名称: " + name); System.out.print(", 站点 URL: " + url); System.out.print("\n"); } rs.close(); ps.close(); conn.close(); } catch(Exception se){ se.printStackTrace(); } finally{ try{ if(ps!=null) ps.close(); }catch(SQLException ignored){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } }
public static void insert2(){ Connection conn = null; PreparedStatement ps = null; try{ Class.forName(JDBC_DRIVER); conn = DriverManager.getConnection(DB_URL,USER,PASS); String sql = "insert into index_demo1(name,age,list,_id) values(?,?,?,?)"; ps = conn.prepareStatement(sql); ps.setString(1,"bbb"); ps.setInt(2,3231); ps.setObject(3, Arrays.asList(1,3,2)); ps.setString(4,"8373"); int rs = ps.executeUpdate(); System.out.println(rs); ps.close(); conn.close(); } catch(Exception se){ se.printStackTrace(); } finally{ try{ if(ps!=null) ps.close(); }catch(SQLException ignored){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } }
Scroll方式必须指定 ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY
public static void scroll(){ Connection conn = null; PreparedStatement ps = null; try{ Class.forName(JDBC_DRIVER); conn = DriverManager.getConnection(DB_URL,USER,PASS); String sql = "SELECT * FROM index_demo1"; ps = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); ResultSet rs = ps.executeQuery(); int i=0; while(rs.next()){ i++; System.out.println(rs.getString("_id")+"--"+ i); } rs.close(); ps.close(); conn.close(); } catch(Exception se){ se.printStackTrace(); } finally{ try{ if(ps!=null) ps.close(); }catch(SQLException ignored){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } }