2019-06-20


单例模式

一个类只有一个实例,只能被自身实例化。

配置properties文件:添加driver、url、user、passwor键

类本身读取

//饿汉式:

        public class Singleton{

            private static Singleton singleton = new Singleton ();

            private Singleton (){}

            public static Singleton getInstance(){return singletion;}

      }

//懒汉式:

      public class Singleton{

            private static Singleton singleton = null;

            public static synchronized Singleton getInstance(){

                if(singleton==null){

                    singleton = new Singleton();

                }

                return singleton;

            }

      }

配置数据源—读取数据源连接数据库

步骤一:

 1,将数据库的mysql-connector-java-5.0.8-bin.jar文件拷到tomcat安装目录下的lib文件夹中。

 2,在Tomcat的conf/context.xml

  注意:在配置文件中不允许有中文,包括注释内的中文

auth="Container"  type="javax.sql.DataSource"  maxActive="100" 

maxIdle="30" maxWait="10000" username="root"  password="root" 

driverClassName="com.mysql.jdbc.Driver" 

              url="jdbc:mysql://localhost:3306/mydb2"/>


其中:

name:表示你的连接池的名称也就是你要访问连接池的地址

auth:是连接池管理权属性,Container表示容器管理

type:是对象的类型

driverClassName:是数据库驱动的名称

url:是数据库的地址

username:是登陆数据库的用户名

password:是登陆数据库的密码

maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连

接将被标记为不可用,然后被释放。设为0表示无限制。

MaxActive,连接池的最大数据库连接数。设为0表示无限制。

maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示

无限制。

3,配置应用程序的web.xml文件(可选)

    

        jdbc/news

        javax.sql.DataSource

        Container

    

步骤二:

1,编写java代码,获取与逻辑名相关联的数据源对象 


public Connection getConnection2() {

        try {

            //初始化上下文

            Context cxt=new InitialContext();

            //获取与逻辑名相关联的数据源对象

            //是环境命名上下文(environment naming context(ENC)

            Context ctx2=(Context) cxt.lookup("java:comp/env");

            DataSource ds=(DataSource) ctx2.lookup("jdbc/news");


            /*另一种写法,两种方法本质是不一样的

             * DataSource ds=(DataSource)cxt.lookup("java:comp/env/jdbc/news");

            */

            conn=ds.getConnection();

        } catch (NamingException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (SQLException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return conn;

    }

步骤三:

    1,编写jsp页面:验证数据源连接

关键代码:

<%

    BaseDao baseDao=new BaseDao();

    Connection conn=baseDao.getConnection2();


%>

<%=conn %>

你可能感兴趣的:(2019-06-20)