
JAVA Web开发中与数据库的连接 *** 作,配置:
1、新建数据库。
新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。用用户和密码控制数据库。保证数据库的安全。
2、编写contextxml文件 Xml文件的目的是封装用户和密码,也是封装的一种,方便 *** 作。
以下为contextxml文件样例:
<xml version="10" encoding="utf-8">
<Context reloadable = "true">
<Resource
name="jdbc/sampleHS"
type="javaxsqlDataSource"
maxActive="14"
难得讲:
直接连接和关闭代码:
private static final String DRIVER = "commicrosoftsqlserverjdbcSQLServerDriver";// 驱动类
private static final String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=paipaiDB";// 连接URL地址
private static final String USER = "sa";// 数据库用户名
private static final String PWD = "123";// 数据库用户密码
/
与数据库建立连接
@return
@throws ClassNotFoundException
@throws SQLException
/
public static Connection getCon() throws ClassNotFoundException,
SQLException {
Connection con = null;
ClassforName(DRIVER);
con = DriverManagergetConnection(URL, USER, PWD);
return con;
}
/
关闭所有与数据库的连接对象
@param res
结果集对象
@param pstat预编义对象
@param con连接对象
/
public static void closeAll(ResultSet res, PreparedStatement pstat,
Connection con) {
if (res != null) {
try {
resclose();
} catch (SQLException e) {
// TODO 自动生成 catch 块
eprintStackTrace();
}
}
if (pstat != null) {
try {
pstatclose();
} catch (SQLException e) {
// TODO 自动生成 catch 块
eprintStackTrace();
}
}
try {
if (con != null && !conisClosed()) {
conclose();
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
eprintStackTrace();
}
}
servlet中一般都是直接调用逻辑层提供的方法(需要连接数据库)
逻辑层都是一个一个的java类,在java类中实现数据库连接
传统的方法,ClassforName()-DriverManagergetConnection()-conn(实例)createStatement或者prepareStatement-stmt(实例)execute()
数据库连接池:驱动放入web容器的lib,配置contextxml-利用JNDI技术获取数据源对象-该对象调用getConnection(),后面的 *** 作一样
Context ct=new InitialContext()DataSource ds=(DataSource)cxlookUp("java:comp/env/jdbc/news(前缀+下面配置的Name值)")<Resource name="jdbc/news" auth="Container" type="javaxsqlDataSource"
maxActive="100" maxIdle="30" maxWait="10000" username="root" password="1234"
driverClassName="commysqljdbcDriver" url="jdbc:mysql://localhost:3306/newsmanagersystemuseUnicode=true&CharacterEncoding=UTF-8"
/>
1通过jdbc连接上数据库,并从中获取一个连接。(建议由一个工具类提供)
2创建一个jsp页面、一个servlet类和一个service业务逻辑类。
3当点击查询按钮时调用servlet并把文本框中的参数传递过去。
4在servlet中获取页面传递过来的参数,并调用service中方法(此方法负责条件查询并返回list集合)
5servlet中把查询集合放到request作用域并转发到jsp页面进行迭代,把数据取出展示即可。
1先装好JDK ex:C:\j2sdk142
2再装TomCat ex:C:\Tomcat 50
3下载 JDBC 驱动
>
1.将数据库驱动程序的JAR文件放在Tomcat的 common/lib 中; 2.在serverxml中设置数据源,以MySQL数据库为例,如下: 在 节点中加入, 属性说明:name,数据源名称,通常取”jdbc/XXX”的格式; type,”javaxsqlDataSource”; password,数据库用户密码; driveClassName,数据库驱动; maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连 接将被标记为不可用,然后被释放。设为0表示无限制。 MaxActive,连接池的最大数据库连接数。设为0表示无限制。 maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示 无限制。 3.在你的web应用程序的webxml中设置数据源参考,如下: 在节点中加入, MySQL DB Connection Pool jdbc/DBPool javaxsqlDataSource Container Shareable 子节点说明: description,描述信息; res-ref-name,参考数据源名字,同上一步的属性name; res-type,资源类型,”javaxsqlDataSource”; res-auth,”Container”; res-sharing-scope,”Shareable”; 4.在web应用程序的contextxml中设置数据源链接,如下: 在节点中加入, 属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值; type,同样取”javaxsqlDataSource”; global,同name值。 至此,设置完成,下面是如何使用数据库连接池。 1.建立一个连接池类,DBPooljava,用来创建连接池,代码如下: import javaxnamingContext; import javaxnamingInitialContext; import javaxnamingNamingException; import javaxsqlDataSource; public class DBPool { private static DataSource pool; static { Context env = null; try { env = (Context) new InitialContext()lookup("java:comp/env"); pool = (DataSource)envlookup("jdbc/DBPool"); if(pool==null) Systemerrprintln("'DBPool' is an unknown DataSource"); } catch(NamingException ne) { neprintStackTrace(); } } public static DataSource getPool() { return pool; } } 2.在要用到数据库 *** 作的类或jsp页面中,用DBPoolgetPool()getConnection(),获得一个Connection对象,就可以进行数据库 *** 作,最后别忘了对Connection对象调用close()方法,注意:这里不会关闭这个Connection,而是将这个Connection放回数据库连接池。
通过JDBC-ODBC桥接器连接
只需要在首页或者登陆界面,加入以下代码
① driverClass=”sunjdbcodbcJdbcOdbcDriver”
② url=”jdbc:odbc:driver={Microsoft Access Driver(mdb)}:DBQ=E:/mydatamdb”
mydatamdb 是数据库名
举一个例子
连接数据库查询表的相关语句(表userinfo中字段有username,password,下同):
ClassforName("sunjdbcodbcJdbcOdbcDriver");
Connection conn=DriverManagergetConnection("jdbc:odbc:driver={Microsoft Access Driver (mdb)};DBQ=E:/mydatamdb","","");
Statement stmt=conncreateStatement();
ResultSet rs=stmtexecuteQuery("select from userinfo");
while(rsnext())
{
outprint("<br>用户名:"+rsgetString("username")+"密码:"+rsgetString("password"));
}
rsclose();
stmtclose();
connclose();
\
通过JDBC-ODBC桥接器连接
首先设置odbc数据源,具体步骤为
打开控制面板,”性能与维护—》管理工具—》数据源(ODBC)”,打开数据源,如图1所示:
点击“系统DSN”
点击添加,出现“创建新数据源”对话框
选择“Driver do Microsoft Access (mdb)”,点击完成,出现“ODBC Microsoft Access安装”对话框
点击数据库的“选择”按钮,出现“选择数据库”对话框,选择数据库(如:E:\mydatamdb)
点击“确定”,返回图4所示对话框,在“数据源名”处输入数据源名称(名称可随便起,如:myaccess),点击“确定”。然后返回 “ODBC 数据源管理器”对话框,系统数据源中出现新建的数据源
相应的驱动和连接数据库的url为:
classDriver=”sunjdbcodbcJdbcOdbcDriver”
url=”jdbc:odbc:myaccess
举个例子
接数据库查询表的相关语句:
ClassforName("sunjdbcodbcJdbcOdbcDriver");
Connection conn=DriverManagergetConnection("jdbc:odbc:myaccess","","");
Statement stmt=conncreateStatement();
ResultSet rs=stmtexecuteQuery("select from userinfo");
while(rsnext())
{
outprint("<br>用户名:"+rsgetString("username")+"密码:"+rsgetString("password"));
}
rsclose();
stmtclose();
connclose();
以上就是关于如何用JSP连接SQLServer数据库全部的内容,包括:如何用JSP连接SQLServer数据库、JSP怎样链接数据库、怎么使用jsp连接mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)