Servlet3.0+jdbc+proxool+log4j

Servlet3.0+jdbc+proxool+log4j

下面我们说说servlet3.0+jdbc开发步骤,jdbc对于一个初学者来说是至关重要的,他也是最重要的知识点。

         我在这里再次使用的是servlet3.0版本,因为省去了很多麻烦的事情,其实道理和servlet3.0一下的版本是一样的。

下面是我src中的包的大致结构还有一个log4j日志配置文件

         log4j.properties

theone.jdbc_servlet.bean

theone.jdbc_servlet.dao

theone.jdbc_servlet.daoImpl

theone.jdbc_servlet.DBUtil

theone.jdbc_servlet.entity

theone.jdbc_servlet.filter

theone.jdbc_servlet.service

theone.jdbc_servlet.serviceImpl

theone.jdbc_servlet.servlet

 

主要的包的结构就是这样了。

这里最要强调的是连接池的使用

在使用连接池的时候我们需要导入一下包

这里都是必须的包我使用的是sqlserver数据库这里包括了sql包日志包 连接池包

 

导包之后我们就可以配置连接池配置文件了

 连接池的包是和web.xml包是在同一目录下的

具体里面的大致内容是如下的:

 

 

 

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

<something-else-entirely>

 <proxool>

   <alias>db_BookManageSystem</alias>

   <driver-url>jdbc:sqlserver://localhost:1433;databaseName=BookManageSystem</driver-url>

   <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>

   <driver-properties>

     <property name="user" value="sa"/>

     <property name="password" value="123"/>

   </driver-properties>

   <maximum-connection-count>100</maximum-connection-count>

   <minimum-connection-count>10</minimum-connection-count>

   <trace>true</trace>

   <house-keeping-test-sql>select 0</house-keeping-test-sql>

 </proxool>

</something-else-entirely>

 

其实很简单的就是将连接的信息放在这里面了。

当我们配置好了之后我们就必须要告诉容器我们需要加载这个配置文件啊

 

所以我们在web.xml中配置加载的信息

<servlet>

   <servlet-name>ServletConfigurator</servlet-name>

   <servlet-class>

           org.logicalcobwebs.proxool.configuration.ServletConfigurator

       </servlet-class>

   <init-param>

     <param-name>xmlFile</param-name>

     <param-value>WEB-INF/proxool.xml</param-value>

   </init-param>

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

 </servlet>

 <servlet>

   <servlet-name>proxoolAdmin</servlet-name>

   <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>

 </servlet>

 <servlet-mapping>

   <servlet-name>proxoolAdmin</servlet-name>

   <url-pattern>/proxool_admin</url-pattern>

  </servlet-mapping>

 

在web.xml中加入以上的配置信息就可以了 当然要注意你的相关信息是否正确了

 接下来我们就需要使用连接池来为我们创建连接了

为此我专门写了一个类来构造一个connection对象

/**

 * @author lidaliang E-mail:lidaliang12345@126.com

 * @version 创建时间:2011-9-3 下午3:53:41 类说明

 */

public classConnectionFactory {

 

    /**

     * 获得connection对象

     * @return

     * @throws SQLException

     */

    public static ConnectiongetConnection() throwsSQLException {

       return DriverManager.getConnection("proxool.db_BookManageSystem");

    }

}

 

这个类里面就是一个静态的方法 此方法就是为创建一个connection的对象的。

DriverManager.getConnection("proxool.db_BookManageSystem");

 

这句话的意思就是使用连接池去创建connection对象了

字符串的规则是:proxool.+

<alias>db_BookManageSystem</alias>

这里面指定的别名了。

 

到这里使用连接池去构建connection对象就可以了

对于jdbc的具体操作我在这里就简单的贴出我的代码吧

@Override

    public List<BookInfo>getBooks(intbeginIndex, intpageSize) {

       List<BookInfo>list = newArrayList<BookInfo>();

       Connectionconn = null;

       StringselectSql = "selectid,BookName,BookAuthor,Press,BookCategoryId,buyAddress,Introduction,Remark,OriginalPrice,RealPrice,BuyTimefrom BookInfo";

       try {

           try {

              conn= getCon();

              PreparedStatementps = conn.prepareStatement(selectSql,

                     ResultSet.TYPE_SCROLL_SENSITIVE,

                     ResultSet.CONCUR_READ_ONLY);

              ps.setMaxRows(pageSize);

              ResultSetrs = ps.executeQuery();

              rs.absolute(beginIndex);

              while (rs.next()) {

                  BookInfobookInfo = newBookInfo();

                  bookInfo.setId(rs.getInt(1));

                  bookInfo.setBookName(rs.getString(2));

                  bookInfo.setBookAnthor(rs.getString(3));

                  bookInfo.setPress(rs.getString(4));

                  bookInfo.setBookCategory(bookCategoryDao.getBookCategory(rs

                         .getInt(5)));

                  bookInfo.setBuyAddress(rs.getString(6));

                  bookInfo.setIntroduction(rs.getString(7));

                  bookInfo.setRemark(rs.getString(8));

                  bookInfo.setOriginalPrice(rs.getDouble(9));

                  bookInfo.setRealPrice(rs.getDouble(10));

                  bookInfo.setBuyTime(rs.getDate(11));

                  list.add(bookInfo);

              }

              rs.close();

              ps.close();

 

           }finally{

              if (conn != null)

                  conn.close();

           }

       }catch(Exception e) {

           logger.error("获取图书列表失败:" + e.getMessage());

       }

       return list;

    }

这是一个获取图书信息的方法 我想这足够了。

 

对于log4j的配置文件我想就不用说了吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值