Mysql
 sql >> база данни >  >> RDS >> Mysql

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

Ами този прост начин?!

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

Също така се чудех защо се свързвате с база данни по този начин?! По-добре е да оставите сървъра да го управлява.

Първо конфигурирайте context.xml (ако използвате tomcat) така:

<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>

След това просто вземете връзка от този ресурс в servlet/etc, като това:

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();
    }

Между другото, не забравяйте да копирате jar-файла на драйвера MySQL JDBC в <CATALINA_BASE>/lib папка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Golang Вмъкнете NULL в sql вместо празен низ

  2. Времето за изчакване на фиксиране на заключване е превишено; опитайте да рестартирате транзакцията за „заседнала Mysql таблица?

  3. Как мога да намеря не-ASCII знаци в MySQL?

  4. Използването на заявка води до друга заявка

  5. MySQL избира записи преди 1 час или по-пресни в колоната дата и час