单例模式

单例模式:软件设计模式,定义是单例对象的类只能允许一个实例存在。

        1)properties读取配置文件

            Properties pro = new Properties();

           pro.load( ConfigManager.class.getClassLoader().getResourceAsStream(file));不能加任何符号 ,比如:空格

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

用连接池的方式连接数据库的几大重要步骤:

步骤一:

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

你可能感兴趣的:(单例模式)