Java Tutorial/Database/DataSource — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 08:05, 1 июня 2010
Look up DataSource from InitialContext
<source lang="java">
import java.sql.Connection; import javax.naming.InitialContext; import javax.sql.DataSource; public class Main {
public static void main(String[] argv) throws Exception { InitialContext init = new InitialContext(); DataSource source = (DataSource) init.lookup("dsn"); Connection connection = source.getConnection(); System.out.println("Connect to " + connection.getCatalog() + " a success!"); }
}</source>
Use JNDI to get database connection or data source
<source lang="java">
import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.servlet.Servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.sql.DataSource; public class Main extends HttpServlet implements Servlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); response.setContentType("text/html"); PrintWriter writer = response.getWriter(); Connection connection = getConnection(); if (connection != null) { String sql = "SELECT SYSDATE FROM DUAL"; try{ PreparedStatement statement = connection.prepareStatement(sql); ResultSet rs = statement.executeQuery(); while (rs.next()) { Date date = rs.getDate("SYSDATE"); writer.println("The current date is " + dateFormat.format(date)); } connection.close(); }catch(Exception e){ System.out.println(e); } } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } private Connection getConnection() { Connection connection = null; try { InitialContext context = new InitialContext(); DataSource dataSource = (DataSource) context.lookup("jdbc/DataSource"); connection = dataSource.getConnection(); } catch (NamingException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; }
}</source>