sql >> Database >  >> RDS >> Mysql

Class.forName(com.mysql.jdbc.Driver).newInstance()

Hoe zit het met deze eenvoudige manier?!

java.sql.Driver d=new com.mysql.jdbc.Driver();

Ik vroeg me ook af waarom je op deze manier verbinding maakt met de database?! Het is beter om de server het te laten beheren.

Configureer eerst de context.xml (als je kater gebruikt) als volgt:

<context>
<Resource name="_ds" auth="Container" type="javax.sql.DataSource"
               maxActive="128" maxIdle="32" username="_admin" password="qwerty" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://127.0.0.1:3306/dbname"/>
</context>

Maak dan eenvoudig een verbinding van deze bron in servlet/etc, zoals dit:

public void init() {
    try {
        _ds = (DataSource) InitialContext.lookup("java:/comp/env/_ds");
    } catch (Exception ex) {
    }
}

private javax.sql.DataSource _ds;

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
{
    try {
        /*String driver = "com.mysql.jdbc.Driver";
        con = null;
        String username = "";
        String password = "";

        Class.forName("com.mysql.jdbc.Driver").newInstance();

        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbName", "root", "password");*/
        Connection con=_ds.getConnection();
        Statement st = con.createStatement();
        ResultSet mar = st.executeQuery("SELECT * FROM table");


        Gson gson = new GsonBuilder().create();
        response.setContentType("application/json");  
        response.setCharacterEncoding("utf-8"); 
        con.close();
    } catch (SQLException e) {
        String message = e.getMessage();
    }

Vergeet trouwens niet om het MySQL JDBC-stuurprogramma jar-bestand te compileren in <CATALINA_BASE>/lib map.



  1. meerdere query's dezelfde tabel maar in verschillende kolommen mysql

  2. Dynamische query met variabel aantal IN (p1, p2, p3) argumenten

  3. Converteer Datetime-kolom van UTC naar lokale tijd in select-statement

  4. Query Selecteer groep op laatste teken in veld