source: ether_eccad/trunk/ECCAD_INTERFACE/WEB-INF/src/org/medias/eccad/persistance/jdbc/SGBD_jdbc.java @ 68

Last change on this file since 68 was 68, checked in by cbipsl, 14 years ago

commit v1 eccad

  • Property svn:executable set to *
File size: 2.5 KB
Line 
1package org.medias.eccad.persistance.jdbc;
2
3import java.sql.Connection;
4import java.sql.SQLException;
5
6
7import org.medias.eccad.helpers.LoggerPerso;
8import org.medias.eccad.persistance.InfoConnectBean;
9import org.postgresql.ds.PGPoolingDataSource;
10
11public class SGBD_jdbc {
12        private Connection con;
13        private static PGPoolingDataSource pooling = null;
14        private InfoConnectBean info;
15       
16        public SGBD_jdbc(InfoConnectBean n_info) {
17                con = null;
18                LoggerPerso.log(SGBD_jdbc.class, LoggerPerso.DEBUG, "construction connection");
19                if (pooling == null) {
20                        info = n_info;
21                        LoggerPerso.log(SGBD_jdbc.class, LoggerPerso.DEBUG, "creation pooling :: " + info);
22                        pooling = new PGPoolingDataSource();
23                        pooling.setDatabaseName(info.getDb_name());
24                        pooling.setServerName(info.getDb_url());
25                        //pooling.setMaxConnections(1);
26                        pooling.setPassword(info.getDb_passwd());
27                        pooling.setUser(info.getDb_login());
28                        pooling.setPortNumber(Integer.parseInt(info.getDb_port()));
29                        pooling.setDataSourceName(info.getDb_name());
30                }
31        }
32       
33       
34        /**
35         * Se connecte à la base de données en mode auto-comit false
36         * @param info le bean contenant les informations de connexion
37         * @throws SQLException si la connexion échoue
38         */
39        public Connection connexion() throws SQLException {
40                ////system.out.println("CONNEXION");
41                con = pooling.getConnection();
42                con.setAutoCommit(false);
43                return con;
44        }
45       
46        /**
47         * Assure la deconnexion à la base de données
48         * en cas d'erreur une entrée est saisie dans le log
49         *
50         */
51        public void deconnexion() {
52                try {
53                        con.close();
54                        //pooling.close();
55                } catch (SQLException e) {
56                        e.printStackTrace();
57                        LoggerPerso.log(SGBD_jdbc.class, LoggerPerso.ERROR, "erreur lors de la deconnexion", e);
58                }
59        }
60       
61        /**
62         * Permet de valider une transaction qui s'est déroulée correctement
63         * en cas de problÚme une RunTimeException est lancée
64         */
65        public void valider_transaction() {
66                try {
67                        con.commit();
68                } catch (SQLException e) {
69                        e.printStackTrace();
70                        throw new RuntimeException("erreur fatale sgbd validation de transaction");
71                }
72        }
73       
74        /**
75         * Permet d'annuler une transaction
76         * en cas de problÚme une RunTimeException est lancée
77         */
78        public void annuler_transaction() {
79                try {
80                        con.rollback();
81                } catch (SQLException e) {
82                        e.printStackTrace();
83                        throw new RuntimeException("erreur fatale sgbd annulation de transaction");
84                }
85        }       
86       
87        public InfoConnectBean getInfo() {
88                return info;
89        }
90
91        public void setInfo(InfoConnectBean info) {
92                this.info = info;
93        }
94}
Note: See TracBrowser for help on using the repository browser.