快速掌握javaweb查询,轻松显示数据库内容(javaweb查询显示数据库)

快速掌握JavaWeb查询,轻松显示数据库内容

公司主营业务:成都做网站、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出常州免费做网站回馈大家。

随着互联网的快速发展,JavaWeb的应用越来越广泛。其中,数据库查询是JavaWeb开发中的重要部分之一。如何快速掌握JavaWeb查询,并通过网站轻松显示数据库内容,成为JavaWeb初学者必须掌握的技能。

JavaWeb查询可以分为静态查询和动态查询。静态查询即是在Java程序中预先写好SQL语句,然后在程序执行时直接执行SQL语句并返回结果。动态查询即是在页面上通过用户输入的条件,动态生成SQL语句,并执行返回结果。以下分别介绍这两种查询方式。

一、静态查询

静态查询主要是通过JDBC技术访问数据库。需要在程序中建立数据库连接,JavaWeb程序往往采用如下方式连接数据库:

“`java

Class.forName(“com.mysql.jdbc.Driver”);

Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/dbname”,”username”, “password”);

“`

其中,“jdbc:mysql://localhost:3306/dbname”表示数据库连接地址,“username”表示数据库用户名,“password”表示数据库密码。建立好连接之后,就可以利用Java提供的JDBC API执行SQL查询了。常见的JDBC查询方式有如下几种:

1. Statement

Statement可以执行静态SQL查询。示例代码如下:

“`java

Statement stmt = connection.createStatement();

ResultSet rs = stmt.executeQuery(“select * from table”);

while (rs.next()) {

int id = rs.getInt(1);

String name = rs.getString(2);

// … 其他字段

}

“`

2. PreparedStatement

PreparedStatement可以优化SQL查询,提升查询性能。示例代码如下:

“`java

String sql = “select * from table where id = ?”;

PreparedStatement pstmt = connection.prepareStatement(sql);

pstmt.setInt(1, 1);

ResultSet rs = pstmt.executeQuery();

while (rs.next()) {

int id = rs.getInt(1);

String name = rs.getString(2);

// … 其他字段

}

“`

3. CallableStatement

CallableStatement可以调用存储过程查询数据。示例代码如下:

“`java

String sql = “{call usp_get_data(?)}”;

CallableStatement cstmt = connection.prepareCall(sql);

cstmt.setInt(1, 1);

ResultSet rs = cstmt.executeQuery();

while (rs.next()) {

int id = rs.getInt(1);

String name = rs.getString(2);

// … 其他字段

}

“`

二、动态查询

动态查询适合于在页面上根据用户的选择生成相应的SQL语句。JavaWeb中,常使用的动态查询方式有两种,即利用JavaServer Pages(P)和JavaServer Faces(F):

1. P

P是一种用于创建动态Web页面的技术,P页面中可以直接嵌入Java代码,能够生成相应的HTML页面。在P页面中使用JDBC查询数据库,示例代码如下:

“`jsp

<%

Class.forName(“com.mysql.jdbc.Driver”);

Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/dbname”,”username”, “password”);

PreparedStatement pstmt = null;

ResultSet rs = null;

String id = request.getParameter(“id”);

String name = request.getParameter(“name”);

String sql = “select * from table where 1=1”;

if (id != null && !id.trim().isEmpty()) {

sql += ” and id = ?”;

}

if (name != null && !name.trim().isEmpty()) {

sql += ” and name = ?”;

}

pstmt = connection.prepareStatement(sql);

int index = 1;

if (id != null && !id.trim().isEmpty()) {

pstmt.setInt(index++, Integer.parseInt(id));

}

if (name != null && !name.trim().isEmpty()) {

pstmt.setString(index++, name);

}

rs = pstmt.executeQuery();

while (rs.next()) {

int id = rs.getInt(1);

String name = rs.getString(2);

// … 其他字段

}

%>

“`

2. F

F是JavaServer Faces的缩写,是一个用于创建Web应用程序的框架。F可以通过标签库将页面与Java代码结合起来。在F页面中使用JDBC查询数据库,示例代码如下:

“`xhtml

ID

#{item.id}

名称

#{item.name}

“`

“`java

@Named

@RequestScoped

public class Bean {

private String id;

private String name;

private List list;

public void doQuery() {

Class.forName(“com.mysql.jdbc.Driver”);

Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost:3306/dbname”,”username”, “password”);

PreparedStatement pstmt = null;

ResultSet rs = null;

String sql = “select * from table where 1=1”;

if (id != null && !id.trim().isEmpty()) {

sql += ” and id = ?”;

}

if (name != null && !name.trim().isEmpty()) {

sql += ” and name = ?”;

}

pstmt = connection.prepareStatement(sql);

int index = 1;

if (id != null && !id.trim().isEmpty()) {

pstmt.setInt(index++, Integer.parseInt(id));

}

if (name != null && !name.trim().isEmpty()) {

pstmt.setString(index++, name);

}

rs = pstmt.executeQuery();

List list = new ArrayList();

while (rs.next()) {

Data data = new Data();

data.setId(rs.getString(1));

data.setName(rs.getString(2));

// … 其他字段

list.add(data);

}

this.list = list;

}

// … getter and setter

}

“`

相关问题拓展阅读:

  • java web前端如何按条件查询数据库大量数据
  • javaweb怎么将数据从数据库查出来并返回前台?

java web前端如何按条件查询数据库大量数据

1.参数传到后台,通过hibernate的hql语句写一个普通的模糊查询就可以了,hql基本无法优化,只能加索引。

2.用jdbc或者mybatis。

3.配置文件应该是jdbc.properties吧?一般不需要,因为jdbc.properties里一般只写driver 、url、username和password,顶多还有或缺一衡槐些连接池相关衫拦辩的配置。

javaweb怎么将数据从数据库查出来并返回前台?

你用jdbc查出数陵亮据来之后,尺闹宽把数据作为对象放在response对象里面。

然后在P里面就可弯并以用${对象名}来获取数值了。

你是想做到P页面不加入这种小脚本吧,那可以采用EL表达式,或者一些框架的输出方式,通常用EL就可以了,因为EL就是用来运算和表灶运达的。后台获取数据以后,这个数据可以是一个简单类型,也可以是一个对象,如果是同一个请求下的,也就是request对象没有变,那么可以用这个存储,否则要用session存储,存储数据的对象是P内置的对象,有page,request,session,application等,每个对象都能存储数据,但是作用于不同,page针对当前页面,request针对一个请隐姿梁求,session针对一个会话,application针对整个应用程序。 通常session就可以了。 比如后台获取一个String的name值,那么你可以session.setAttribute(“name”,name); 那么P直接可以EL这册御样写:${sessionScope.name} 获取这个值,这里的name是后台封装的键的名,不是后面变量name的名。

javaweb查询显示数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaweb查询显示数据库,快速掌握javaweb查询,轻松显示数据库内容,java web前端如何按条件查询数据库大量数据,javaweb怎么将数据从数据库查出来并返回前台?的信息别忘了在本站进行查找喔。

香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。

名称栏目:快速掌握javaweb查询,轻松显示数据库内容(javaweb查询显示数据库)
链接URL:http://www.hantingmc.com/qtweb/news9/512459.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联