tomcat连接数据库 tomcat怎么连接mysql
这篇文章给大家聊聊关于tomcat连接数据库,以及tomcat怎么连接mysql对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
TOMCAT如何连接数据库
1、将mysql-connector-java-5.1.6-bin.jar,也在%Tomcat_Home%\common\lib\下,
2、在tomcat中manager中配置数据源名,配置完后内容自动放在conf\server.xml中。
3、在conf\catalina\localhost\下建你应用程序的xml文件,例wei2.xml中,内容为<Context docBase="wei2" path="/wei2">
<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>
</Context>
其中jdbc/mysql为配置的JNDI;
下面说下JNDI与DataSource
JNDI java naming directory interface命名和目录接口命名服务来使组件定位到其它组件和资源(数据库资源),JNDI所有名应该以字符串java:comp/env开始;
要定位JDBC资源中,这时就可以编写代码使用JNDI的lookup()方法来定位到这个资源了。
JNDI命名服务有一组将名称与对象联系在一起的绑定。JNDI中的lookup()方法传递一个JNDI参数(java:comp/env/myjdbc,前面java:comp/env是必要的。),返回相应的对象(返回类型为DataSource,若为数据库,则可用DataSource中的getConnection()方法获取数据库连接).
tomcat怎么连接mysql
msql数据库连接:
一、传统方法:
1、本人使用JDBC驱动mysql-connector-java-5.1.6-bin.jar,将此驱动包放到%Tomcat_Home%\common\lib\下,
2、在应用程序中加载此包,右键项目属性->java build path->libraries->external libraries
3、在应用程序中加载驱动,Class.forName("com.mysql.jdbc.Driver").newInstance()
4、用java.sql.DriverManager类取得一连conn=DriverManager.getConnection(url);
5、用java.sql.Statement接口创建stmt对象,stmt=conn.createStatement();
或java.sql.PreraredStatement接口 pstmt;
6、用java.sql.ResultSet接口创建rst对象,rst= stmt.executeQuery(sql语句);
7、处理结果集,断开数据库连接。
二、数据池连接技术
1、将mysql-connector-java-5.1.6-bin.jar,也在%Tomcat_Home%\common\lib\下,
2、在tomcat中manager中配置数据源名,配置完后内容自动放在conf\server.xml中。
3、在conf\catalina\localhost\下建你应用程序的xml文件,例wei2.xml中,内容为<Context docBase="wei2" path="/wei2">
<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>
</Context>
其中jdbc/mysql为配置的JNDI;
下面说下JNDI与DataSource
JNDI java naming directory interface命名和目录接口命名服务来使组件定位到其它组件和资源(数据库资源),JNDI所有名应该以字符串java:comp/env开始;
要定位JDBC资源中,这时就可以编写代码使用JNDI的lookup()方法来定位到这个资源了。
JNDI命名服务有一组将名称与对象联系在一起的绑定。JNDI中的lookup()方法传递一个JNDI参数(java:comp/env/myjdbc,前面java:comp/env是必要的。),返回相应的对象(返回类型为DataSource,若为数据库,则可用DataSource中的getConnection()方法获取数据库连接).
DataSoure是javax.sql.DataSource类型。
数据库连接池分三步:
1、指定数据库连接的逻辑名,起名java:comp/env/myjdbc
2、获取与逻辑名相当的DataSource对象,代码为:
InitialContext ctx= new InitialContext();
DataSource ds=(DataSource)ctx.lookup(“java:comp/env/myjdbc”);
3、由DataSource对象获取Connection对象
Connection con=ds.getConnection();
综上所有步骤:
Connection con;
Private void init(){
Try{
InitialContext ctx= new InitialContext();
DataSource ds=(DataSource)ctx.lookup(“java:comp/env/jdbc/mysql”);
Conn= ds.getConnection();
}
Catch(Exception e){
e.printStackTrace();
}
}
这段代码使用连接池技术返回一个Connection对象.
tomcat怎么设置数据库连接
1、将mysql-connector-java-5.1.6-bin.jar,也在%Tomcat_Home%\common\lib\下,
2、在tomcat中manager中配置数据源名,配置完后内容自动放在conf\server.xml中。
3、在conf\catalina\localhost\下建你应用程序的xml文件,例wei2.xml中,内容为<Context docBase="wei2" path="/wei2">
<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>
</Context>
其中jdbc/mysql为配置的JNDI;
下面说下JNDI与DataSource
JNDI java naming directory interface命名和目录接口命名服务来使组件定位到其它组件和资源(数据库资源),JNDI所有名应该以字符串java:comp/env开始;
要定位JDBC资源中,这时就可以编写代码使用JNDI的lookup()方法来定位到这个资源了。
JNDI命名服务有一组将名称与对象联系在一起的绑定。JNDI中的lookup()方法传递一个JNDI参数(java:comp/env/myjdbc,前面java:comp/env是必要的。),返回相应的对象(返回类型为DataSource,若为数据库,则可用DataSource中的getConnection()方法获取数据库连接).
在使用tomcat时数据库连接不上
出现这个是因为你的数据库没有连接上导致的,检查以下几个地方
1.你的db.properties文件是否配置正确 useUnicode=true&&characterEncoding=UTF-8表示你设置的编码为utf-8保证与数据库的一致防止乱码
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/oa?unicode=true&characterEncoding=utf-8
jdbc.user=root
jdbc.password=111
2.检查你的spring/applicationContext-dao.xml是否配置了数据源,而且是否配置正确
<!--加载properties配置文件-->
<context:property-placeholderlocation="classpath:properties/dbinfo.properties"></context:property-placeholder>
3.你的连接名是否是正确的和你在db.properties中配置的是否一样
<!--加载properties配置文件-->
<beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource">
<propertyname="driverClass"value="${jdbc.driverClass}"></property>
<propertyname="jdbcUrl"value="${jdbc.jdbcUrl}"></property>
<propertyname="user"value="${jdbc.user}"></property>
<propertyname="password"value="${jdbc.password}"></property>
</bean>
4.你电脑中的服务是否打开
5.检查下的你数据库名是否存在,或者表是否存在
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!