[原创]基于Weblogic的Mysql数据库的JDBC连接池的配置和访问实现_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2758 | 回复: 0   主题: [原创]基于Weblogic的Mysql数据库的JDBC连接池的配置和访问实现        下一篇 
ming.chen
注册用户
等级:中尉
经验:444
发帖:8
精华:0
注册:1970-1-1
状态:离线
发送短消息息给ming.chen 加好友    发送短消息息给ming.chen 发消息
发表于: IP:您无权察看 2016-5-18 15:41:47 | [全部帖] [楼主帖] 楼主

(1)在Weblogic服务器上新建一个数据源

    登陆Weblogic console,点击左侧域结构的+服务+消息传递里的数据源,新建一个一般数据源:

    

QQ图片20160518104325.png

    默认名称为JDBC Data Source-0,数据库类型选择MySQL,下一步:

    

QQ图片20160518104548.png

    选择数据库驱动程序,这里我们选择com.mysql.jdbc.Driver,下一步默认,下一步:

          

QQ图片20160518104931.png

     这里填写需要连接的MySQL的详细信息,数据库名称、主机名、确认口令。其中端口是默认填写的,一般不需要更改,数据库用户名和口令读的是Weblogic console那里的缓存,需要重新输入。

    继续选择下一步,按照提示的内容进行填写就行了。选择目标,勾选默认为AdminServe的服务器,点击完成。如果看到数据源里出现名称为JDBC Data Source-0的数据源,则说明数据源配置成功。


(2)新建一个Web项目,用来访问部署在Weblogic上的数据源,并显示数据库里的内容到JSP页面上的一张表上。

    在MyEclipse里新建一个名为JDBCTest的Web项目,导入wlfullclient.jar。

    新建一个实体类Student,用来和数据库里的数据表进行对应,代码如下:

package entiry;

public class Student {
    private String name;
    private int age;
    private String sex;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
}

    在新建一个访问Weblogic数据源的类WeblogicDataSource,代码如下:

package dao;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class WeblogicDataSource {
    private static WeblogicDataSource instance= null;
    private static Context ctx=null;
    private WeblogicDataSource() throws NamingException{
        Properties prop=new Properties();
        prop.setProperty(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
        prop.setProperty(Context.PROVIDER_URL, "t3://localhost:7001");
        ctx=new InitialContext(prop);
    }
    
    public DataSource getDataSource()throws NamingException{
        DataSource ds=null;
        ds=(DataSource)ctx.lookup("JDBC Data Source-0");
        return ds;
    }
    
    public Connection getConnection() throws NamingException,SQLException{
        Connection conn=getDataSource().getConnection();
        return conn;
    }
    
    public static WeblogicDataSource getInstance() throws NamingException{
        if(instance==null){
            instance=new WeblogicDataSource();
        }
        return instance;
    }
}

    最后建一个调用WeblogicDataSource,返回一个查询数据的List的类Query,代码如下:

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.naming.NamingException;

import entity.Student;

public class Query {
    
    public static List<Student> getList() throws NamingException{
        List<Student> list=new ArrayList<Student>();
        Connection coon=null;
        PreparedStatement psmt=null;
        ResultSet rs=null;
        String sql="select * from students";
        try{
            coon=WeblogicDataSource.getInstance().getConnection();
            psmt=coon.prepareStatement(sql);
            rs=psmt.executeQuery();
            while(rs.next()){
                Student student=new Student();
                student.setAge(rs.getInt("Age"));
                student.setName(rs.getString("Name"));
                student.setSex(rs.getString("Sex"));
                list.add(student);        
            }
            coon.close();
            psmt.close();
            rs.close();
        }catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
}

    修改index.jsp,在界面上显示一个数据信息的表格:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ page language="java" import="dao.Query,entity.Student" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
  
  <body>
    <h3 align="center">这是一个用来显示数据库里数据的表</h3>
    <table border="1" align="center">
        <tr>
            <th>姓名</th>
            <th>年龄</th>
            <th>性别</th>
        </tr>
        
        <% List<Student> list=Query.getList();
           for(int i=0;i<list.size();i++)
        {
        %>    <tr>
            <td> <%=list.get(i).getName() %></td>
            <td> <%=list.get(i).getAge() %></td>
            <td> <%=list.get(i).getSex() %></td>
            </tr>
        <%
        } 
        %>
    </table>
  </body>
</html>

    代码编写完成后,采用自动部署到weblogic服务器上,选择项目,Run As ->MyEclipse server Application->Weblogic 10.x(在这之前需要在Myeclipse里配置好Weblogic),当然也可以通过Weblogic console的方式部署web项目,这里就不赘述了。部署好以后如下图:

           QQ图片20160518153614.png

    由于事先在Mysql数据库中建立了相关的数据表,添加了3条记录,如下:

QQ图片20160518153141.jpg

    最后通过 http://127.0.0.1:7001/JDBCTest/ 访问部署在Weblogic上的项目,显示如下:

    

QQ图片20160518153937.jpg

    以上就是基于Weblogic12.c的配置连接池,连接数据库,并能通过web项目访问到数据源的实现。希望大家多多指正。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论