· 8 years ago · Mar 16, 2018, 02:00 PM
1/*
2
3Descarregar drivers
4Afegir-ho al classpath (per a carregar les classes que fem servir.
5export CLASSPATH=$CLASSPATH:/Users/maria/Downloads/postgresql.jar:/Users/maria/Downloads/mysql-connector-java.jar
6
7
8
9
10*/
11
12
13import java.sql.*; // (1) importa les classes del JDBC
14public class HolaPG {
15 public static void main(String[] args) {
16 // components de la cadena de connexió
17 //userMySQL: maria
18 //passMySQL: maria
19 String usuari = "postgres";
20 String password = "maria";
21 String host = "localhost";
22 String bd = "testbd";
23
24
25 //jdbc:postgresql:jdbc:mysql:
26 String cadenaConnexio // (2) composa la cadena de connexió
27 = "jdbc:postgresql://" + host
28 + "/" + bd
29 + "?user=" + usuari
30 + "&password=" + password;
31
32 // connexió
33 Connection conn=null;
34 try {
35 // (3) realitza la connexió
36 conn = DriverManager.getConnection(cadenaConnexio);
37 System.out.println("Connectat a la base de dades " + bd);
38 //createEQUIPO(conn, bd);
39 //createJUGADORES(conn, bd);
40 //cargaEQUIPO(conn, bd);
41 //cargaJUGADORES(conn, bd);
42 insertaJUGADOR(conn, bd, 10, 2, "messi", 5, 25);
43
44
45
46
47 } catch (SQLException e) {
48 System.out.println("ERROR: no s'ha pogut connectar: " + e);
49 } finally {
50 try{
51 if (conn!=null) {
52 conn.close(); // (4) tanca la connexió
53 }
54 } catch (Exception e) {
55 System.out.println("ERROR: no s'ha pogut desconnectar: " + e);
56 }
57 }
58 }
59 public static void createEQUIPO(Connection con, String BDNombre) throws SQLException {
60 String createString = "CREATE TABLE IF NOT EXISTS EQUIPO " +
61 "(TEAM_ID integer NOT NULL," +
62 "EQ_NOMBRE varchar(40) NOT NULL," +
63 "ESTADIO varchar(40) NOT NULL," +
64 "POBLACION varchar(20) NOT NULL," +
65 "PROVINCIA varchar(20) NOT NULL," +
66 "COD_POSTAL char(5)," +
67 "PRIMARY KEY (TEAM_ID))";
68
69
70 Statement stmt = null;
71 try {
72 stmt = con.createStatement();
73 stmt.executeUpdate(createString);
74 System.out.println("taula creada correctament");
75
76 } catch (SQLException e) {
77 System.out.println("ERROR: no s'ha pogut connectar: " + e);
78 } finally {
79 stmt.close();
80 }
81 }
82 public static void createJUGADORES(Connection con, String BDNombre) throws SQLException {
83 String createString = "CREATE TABLE IF NOT EXISTS JUGADORES " +
84 "(PLAYER_ID integer NOT NULL," +
85 "TEAM_ID integer NOT NULL,"+
86 "NOMBRE varchar(40) NOT NULL," +
87 "DORSAL integer NOT NULL," +
88 "EDAD integer NOT NULL," +
89 "PRIMARY KEY (PLAYER_ID)," +
90 "FOREIGN KEY (TEAM_ID) REFERENCES EQUIPO (TEAM_ID))";
91
92 Statement stmt = null;
93 try {
94 stmt = con.createStatement();
95 stmt.executeUpdate(createString);
96 System.out.println("jugadors donats d'alta");
97 } catch (SQLException e) {
98 System.out.println("ERROR: no s'ha pogut connectar: " + e);
99 } finally {
100 stmt.close();
101 }
102 }
103
104 public static void cargaEQUIPO(Connection con, String BDNombre) throws SQLException {
105 Statement stmt = null;
106 try {
107 stmt = con.createStatement();
108 stmt.executeUpdate("INSERT INTO EQUIPO (TEAM_ID, EQ_NOMBRE,ESTADIO, POBLACION, PROVINCIA, COD_POSTAL) VALUES (1,'ESTEPONA','MONTERROSO','ESTEPONA','MALAGA','29680')");
109 stmt.executeUpdate("INSERT INTO EQUIPO (TEAM_ID, EQ_NOMBRE,ESTADIO, POBLACION, PROVINCIA, COD_POSTAL) VALUES (2,'ALCORCON','SANTO DOMINGO','ALCORCON','MADRID','28924')");
110 stmt.executeUpdate("INSERT INTO EQUIPO (TEAM_ID, EQ_NOMBRE,ESTADIO, POBLACION, PROVINCIA, COD_POSTAL) VALUES (3,'PORCUNA','SAN CRISTOBAL','PORCUNA','JAEN','23790')");
111
112 } catch (SQLException e) {
113 System.out.println("ERROR: no s'ha pogut connectar: " + e);
114 } finally {
115 stmt.close();
116 }
117}
118public static void cargaJUGADORES(Connection con, String BDNombre) throws SQLException
119 {
120 Statement stmt = null;
121 try {
122 stmt = con.createStatement();
123
124
125
126 //Cargando datos de Estepona
127 stmt.executeUpdate("INSERT INTO JUGADORES (PLAYER_ID, TEAM_ID ,NOMBRE, DORSAL, EDAD) VALUES (1,1,'JOSE ANTONIO',1,42)");
128
129 stmt.executeUpdate("INSERT INTO JUGADORES (PLAYER_ID, TEAM_ID ,NOMBRE, DORSAL, EDAD) VALUES (2,1,'IGNACIO',2,62)");
130
131 stmt.executeUpdate("INSERT INTO JUGADORES (PLAYER_ID, TEAM_ID ,NOMBRE, DORSAL, EDAD) VALUES (3,1,'DIEGO',3,20)");
132 //Cargando datos de Alcorcón
133 stmt.executeUpdate("INSERT INTO JUGADORES (PLAYER_ID, TEAM_ID ,NOMBRE, DORSAL, EDAD) VALUES (4,2,'TURRION',1,37)");
134
135 stmt.executeUpdate("INSERT INTO JUGADORES (PLAYER_ID, TEAM_ID ,NOMBRE, DORSAL, EDAD) VALUES (5,2,'LUIS ABEL',2,37)");
136
137 stmt.executeUpdate("INSERT INTO JUGADORES (PLAYER_ID, TEAM_ID ,NOMBRE, DORSAL, EDAD) VALUES (6,2,'ISAAC',3,40)");
138 //Cargando datos de Porcuna
139 stmt.executeUpdate("INSERT INTO JUGADORES (PLAYER_ID, TEAM_ID ,NOMBRE, DORSAL, EDAD)VALUES (7,3,'JUAN FRANCISCO',1,33)");
140
141 stmt.executeUpdate("INSERT INTO JUGADORES (PLAYER_ID, TEAM_ID ,NOMBRE, DORSAL, EDAD) VALUES (8,3,'PARRA',2,37)");
142
143 stmt.executeUpdate("INSERT INTO JUGADORES (PLAYER_ID, TEAM_ID ,NOMBRE, DORSAL, EDAD) VALUES (9,3,'RAUL',3,19)");
144 } catch (SQLException e) {
145 System.out.println("ERROR: no s'ha pogut connectar: " + e);
146 } finally {
147 stmt.close();
148 }
149}
150
151 public static void insertaJUGADOR(Connection con, String BDNombre, int player_id,int team_id,String nombre,int dorsal,int edad)throws SQLException {
152 Statement stmt = null;
153 try {
154 stmt = con.createStatement();
155 stmt = con.createStatement(
156 ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
157 ResultSet rs = stmt.executeQuery("SELECT * FROM JUGADORES");
158 rs.moveToInsertRow();
159 rs.updateInt("PLAYER_ID", player_id);
160 rs.updateInt("TEAM_ID", team_id);
161 rs.updateString("NOMBRE", nombre);
162 rs.updateInt("DORSAL", dorsal);
163 rs.updateInt("EDAD", edad);
164 rs.insertRow();
165 rs.beforeFirst();
166 } catch (SQLException e ) {
167 System.out.println("ERROR: no s'ha pogut connectar: " + e);
168 } finally {
169 stmt.close();
170 }
171 }
172}