连接oracle数据库及遇到的问题3

    技术2022-05-20  59

    通过几天的学习,发现很多配置数据库信息,连接数据库的方法,现在总结一下,晒晒,还望网友们指点一二。

    1.     在程序中直接连接。这个就不用说了

    2.     通过peoperties对象

    前面两个方法就不多说了,不懂的可以见我的《连接Oracle数据库及遇到的问题》,《连接Oracle数据库及遇到的问题2》这两篇博文。

    3.     web.xml配置文件的<init-param>标签里配置参数

    <servlet>

    <servlet-name>LoginServlet</servlet-name>

    <servlet-class>javaweb.LoginServlet</servlet-class>

    <init-param>

    <param-name>driver</param-name>

    <param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>

    </init-param>

    <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

    <servlet-name>LoginServlet</servlet-name>

    <url-pattern>/login</url-pattern>

    </servlet-mapping>

    在后台

    public void init() throws ServletException{

    ServletConfigconfig=getServletConfigString ;

    driver = config.getParameter(driver);

    }

    4.     web.xml配置文件的<context-param>标签里配置参数

    <context-param>

            <param-name>driver</param-name>

            <param-value>oracle.jdbc.driver.OracleDriver</param-value>

        </context-param>

        <context-param>

            <param-name>url</param-name>

            <param-value>jdbc:oracle:thin:@localhost:1521:oracle</param-value>

        </context-param>

        <context-param>

            <param-name>user</param-name>

            <param-value>t_jdbc</param-value>

        </context-param>

        <context-param>

            <param-name>pass</param-name>

            <param-value>t_jdbc</param-value>

        </context-param>

    在后台servlet

    String driver = getServletContext().getInitParameter("driver");

        String url = getServletContext().getInitParameter("url");

        String user = getServletContext().getInitParameter("user");

        String pass = getServletContext().getInitParameter("pass");

    5.     JNDI方法来

    META-INF下创建一个context.xml文件,在tomcat里的conf文件夹下也有个同名文件,这是为了让服务器把context.xml文件看成是其自身内容。context.xml文件里里的内容如下:

    <?xml version="1.0" encoding="UTF-8"?>

    <Context>

          <Resource name="jdbc/ORACLE" 

           auth="Container"     

           type="javax.sql.DataSource"     

           driverClassName="oracle.jdbc.driver.OracleDriver"     

           url="jdbc:oracle:thin:@127.0.0.1:1521:ORACLE"     

           username="scott"     

           password="tiger"     

           maxActive="100"     

           maxIdle="30"     

           maxWait="10000" />

    </Context>

    <Resource>对应了一个数据元,连接池信息

      name:给数据元起的别名 , auth:授权 , type:连接池类型 ,

      driver , url , username , password这些都不用介绍了吧

      maxActive:最大激活数 , maxIdle:最大空闲数 ,  maxWait:最长等待时间

    在后台Servlet中:

    InitialContext initContext = new InitialContext();

    Context context = (Context) initContext.lookup("java:comp/env");

    DataSource ds = (DataSource) context.lookup("jdbc/ORACLE");

    conn = ds.getConnection(); 

    这样就得到Connection

    这里需要注意的一点就是:这里用到的连接oracle数据的驱动包.classes12.jar不能导入到工程中,因为它是到服务器上找classes12.jar的,因此这个包要放到服务器如:tomcat上的lib包里。

    6.当然了,在后面还有SSH框架中连接数据库,这里就先不多说了。

     


    最新回复(0)