Não vou dizer muito absurdo, compartilharei com você os problemas de conexão comuns dos bancos de dados SQL de operação de Java.
1. Conecte -se, consulta, atualize, feche
Essas operações básicas de dados são montadas e gravadas em um modelo semelhante a uma ferramenta, que é a ferramenta SQL do Model2 Model2. Originalmente, eu queria adicionar outras operações, como processamento de transações, mas ainda não pensei em um método mais perfeito. Por favor, observe o código em detalhes. Os comentários são muito detalhados.
importar java.sql.*; importar java.util.iterator; importar java.util.map; importar java.util.set;/*** criado por nl101 em 2016/1/29.*/public class sqlBean {// operações de inicialização são escritos na conexão anterior = null; null; "oracle.jdbc.driver.oracledriver"; string url = "jdbc: oracle: thin: @localhost: 1521: orcl"; string userName = "scott"; string senha = "123456";/*** Inicialize a conexão e get conn/public sqlBean () {{{Try) DriverManager.getConnection (URL, nome de usuário, senha);} Catch (ClassNotFoundException e) {E.PrintStackTrace (); System.err.println ("Link do banco de dados Exception");} Catch (SQLEXCECTION E) {E.PrintStack); Função de atualização do banco de dados* // *** Crie o banco de dados* @param sql atualização correspondente instrução sql* @param parâmetros parâmetros adicionais necessários* @return update true update update false bem -sucedido falha*/public boolean update (string sql, string [] params) {int k = 0; try {ps..preparestatement (sql); Ps.SetString (i+1, params [i]);} k = ps.executeUpdate ();} catch (sqLexception e) {e.printStackTrace (); System.err.println ("Database Atualizar exceção");} Return K> 0: False: False;}/*** DATASESTERSIDADE FUNÇÃO* Parâmetros* @return Consulta Resultado*/public ResultSet Consulta (String sql, String [] params) {try {ps = Conn.Preparestatement (sql); para (int i = 0; i <params.lexngth; i ++) {ps.SetString (i+1, params [i]); {E.PrintStackTrace (); System.err.println ("Exceção de consulta do banco de dados");} retorna rs;}/*** Feche a instrução do banco de dados*/public void Close () {Try {if (rs! = null) rs.close (); rs = nulo; if (ps! = null) ps.close (); ps = null; if (conn! = null) conn.close (); Conn = null;} catch (sqLexception e) {e.printStackTrace ();}}}Escrito assim, se você ligar para outras classes, poderá seguir o método a seguir.
Sqlbean sqlbean = new sqlbean (); string [] params = {}; // se houver um parâmetro, escreva -o no resultado rs = sqlbean.Query ("selecione ename (rs.p (rs.P); Catch (sqLexception e) {e.printStackTrace (); sqlbean.close (); // feche a conexão se exceção} sqlbean.close (); // fechar a conexão com o banco de dados2. Processamento de transações
Ao processar transações, o envio automático é sempre cancelado primeiro, o comando é executado e o envio final é submetido e, em seguida, a exceção ocorre ao reverter. Quanto a como escrever um método, ainda não pensei em uma boa ideia.
importar bean.sqlbean; importar java.sql.*;/*** criado por NL101 em 2016/1/29. "JDBC: Oracle: Thin: @localhost: 1521: orcl"; string userName = "scott"; string senha = "7946521"; tente {class.ForName (DriverName); Conn = DriverManager.GetConnection (URL, o nome da senha); conn.teta); Conn.Createstatement (); Ps.Addbatch ("Sentença 1 para operar"); Ps.addbatch ("Sentença 2 para operar"); Ps.addbatch ("Sentença 3 para operar"); PIT; Conn.SetAutocomit (true); // Ativar submissão automática} catch (classNotFoundException e) {E.PrintStackTrace (); System.err.println ("Database Link Exception");} Catch (SQLEXCECTION E) {E.PrintStackTrace (); Sistema; (Conn! = NULL) {Conn.Rollback (); // Operação de volta Conn.SetAutocommit (true);}} Catch (sqLexception e1) {e1.printStacktrace ();}} finalmente {// finalize o banco de dados {if (rs! = null) (null); null; if (conn! = null) conn.close (); conn = null;} catch (sqLexception e) {e.printStackTrace ();}}}}3. Procedimentos armazenados de chamada
Call = ct.Preparecall ("{ligue para sp_pro4 (?,?,?,?,?,?)}"); // Defina parâmetros de entrada Call.SetString (1, "EMP"); Call.setInt (2, 4); Call.SetInt (3, 1); // Defina os parâmetros de saída Call.RegisterOutParameter (4, oracletipes.number); Call.RegisterOutParameter (5, oracletipes.number); Call.RegisterOutParameter (6, oracletipes.cursor); // Execute Call.execute (); // O número total de saídas e totais de páginas System.out.println ("Número total de registros"+call.getInt (4)+"-Número total de páginas" +s "getInt (5); while (rs.Next ()) {for (int i = 0; i <7; i ++) {System.out.print (rs.getString (i+1)+"");} System.out.println ();}4. Conjunto de resultados móveis
O Sun fornece apenas uma interface. Se ele pode ser operado depende se o driver JDBC que você faz referência a ele suporta.
importar java.sql.*; classe pública testScroll {public static void main (string args []) {try {new oracle.jdbc.driver.oracledriver (); string url = "jdbc: oracle: thin:@192.168.0.1: 1521: stt"; stmt = Conn.Createstatement (ResultSet.Type_Scroll_insensitive, // Defina o RS para rolar ResultSet.Concur_Read_Only); // Defina o RS como LOLLY ResultSet Rs = Stmt.executeQuery ("Selecione * Ordem EMP por sal); rs.next (); System.out.println (rs.getInt (1)); rs.last (); // aponte para o último sistema de linha.out.println (rs.getString (1)); syst.out.println (rs.islast ()); em.out.println (rs.getRow ()); rs.previous (); // mova uma linha System.out.println (rs.getString (1)); rs.absolute (6); // esse método localiza diretamente o número do número de linha.out.println (rs.getString (1); (SqLexception e) {e.printStackTrace ();}}}5. Conjunto de resultados atualizável
importar java.sql.*; classe pública testUpDatars {public static void main (string args []) {try {new oracle.jdbc.driver.oracledriver (); string url = "jdbc: oracle: thin:@192.168.0.1: 151: stt"; Conn = DriverManager.getConnection (URL, "Scott", "Tiger"); Declaração stmt = Conn.Createstatement (ResultSet.Type_Scroll_insensitive, ResultSet.Concur_UpDatable); ResultSet Rs = stmt.executeQuery ("select de EMP2"); rs.UpDateString ("ename", "aaaa"); rs.updaterow (); // insere uma nova linha rs.movetoinsertrow (); rs.updateint (1, 9999); rs.UpDateSTring ("ename," aaaa "); 99.99); rs.inserTrow (); // mova o cursor para a linha recém -criada rs.movetocurrentrow (); // exclua a linha rs.absolute (5); rs.deleterow (); // cancel update // rs.cancelRowupdates ();} catch (sqxception e) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {{}} {} {sqxception e) {) {) {) {) {) {).O exposto acima são as operações que costumo usar para conectar aos bancos de dados SQL em Java que o editor compartilha com você. Espero que seja útil para você.