jdbc连接MySQL浏览器显示_一个小实例(使用JDBC,JSP在浏览器展示数据库中的数据)...

本文通过一个实例演示如何利用JDBC连接MySQL数据库,结合JSP在浏览器上展示商品信息。步骤包括:创建DBHelper类进行数据库连接,定义商品实体类,设计数据访问对象(DAO)获取所有商品并显示。详细步骤涵盖数据库连接、实体类、DAO设计及JSP页面展示。
摘要由CSDN通过智能技术生成

采用Model1(JSP+javabean)来实现

步骤:

dbHelper是创建数据库的链接对象,操作数据库JDBC

创建实体类:商品类

创建业务逻辑类(DAO)

创建页面层(也可以放在第一步)

业务逻辑类中包括:

查询所有商品

查询指定商品等

项目原型

ee4fb91c171a4af78aadca31afc30ae5.png

items.sql是我们要用到的数据库表。是写好的,直接导入数据库中就行

界面图:

737690bc1ef3aee0d25af527524f2b91.png

df7c68cfec7fd7e1d7595d0b5d262b59.png

DBHelper类的设计

793f8074486a46917ad43818268601da.png

把jar包放进来

e6c07ca5fa902014ed9478b5abf838d9.png

d483211f5f24f89cc49b13be436f9c9e.png

链接mysql的驱动

0816188dac08a284be3325fd7acd06e6.png

68483eb5a37564e03d79f142ee7a5076.png

中文乱码的时候,在Idea右下角,选择GBK然后reload即可,因为默认的是UTF-8

9df84763c3d834de11d7c658b7889a8d.png

DBHelper

packageutil;importjava.sql.Connection;importjava.sql.DriverManager;public classDBHelper {private static final String driver = "com.mysql.jdbc.Driver"; //数据库驱动//连接数据库的URL地址

private static final String url="jdbc:mysql://localhost:3306/shopping?useUnicode=true&characterEncoding=UTF-8";private static final String username="root";//数据库的用户名

private static final String password="123456";//数据库的密码

private static Connection conn=null;//静态代码块负责加载驱动

static{try{

Class.forName(driver);

}catch(Exception ex)

{

ex.printStackTrace();

}

}//单例模式返回数据库连接对象

public static Connection getConnection() throwsException

{if(conn==null)//如果conn不存在就新建一个

{

conn=DriverManager.getConnection(url, username, password);returnconn;

}returnconn;

}public static voidmain(String[] args) {try{

Connection conn=DBHelper.getConnection();if(conn!=null)

{

System.out.println("数据库连接正常!");

}else{

System.out.println("数据库连接异常!");

}

}catch(Exception ex)

{

ex.printStackTrace();

}

}

}

数据库中建好shopping这个scheme

74512a0c4fc378392f92f8c3b23bc353.png

然后将items.sql导入。

921f813ccf329fe8839bb814ad76f629.png

写一个main方法测试一下是否链接正常

f5efaa280ca68b9e41867f074f813deb.png

实体类

5e186f8cdf3d51d3f12b72e227b35546.png

编写的字段名字最好跟数据库中的字段名字相同

packageentity;//商品类

public classItems {private int id; //商品编号

private String name; //商品名称

private String city; //产地

private int price; //价格

private int number; //库存

private String picture; //商品图片

public intgetId() {returnid;

}public void setId(intid) {this.id =id;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}publicString getCity() {returncity;

}public voidsetCity(String city) {this.city =city;

}public intgetPrice() {returnprice;

}public void setPrice(intprice) {this.price =price;

}public intgetNumber() {returnnumber;

}public void setNumber(intnumber) {this.number =number;

}publicString getPicture() {returnpicture;

}public voidsetPicture(String picture) {this.picture =picture;

}

}

接下来设计数据访问层也就是DAO层

创建业务逻辑类(DAO)

获得所有的商品信息,并在页面上显示

以下三个类重点

Connection

PreparedStatement

ResultSet

packagedao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.ArrayList;importutil.DBHelper;importentity.Items;//商品的业务逻辑类

public classItemsDAO {//获得所有的商品信息

public ArrayListgetAllItems() {

Connection conn= null;

PreparedStatement stmt= null;

ResultSet rs= null;

ArrayList list = new ArrayList(); //商品集合

try{

conn=DBHelper.getConnection();

String sql= "select * from items;"; //SQL语句

stmt =conn.prepareStatement(sql);

rs=stmt.executeQuery();while(rs.next()) {

Items item= newItems();

item.setId(rs.getInt("id"));

item.setName(rs.getString("name"));

item.setCity(rs.getString("city"));

item.setNumber(rs.getInt("number"));

item.setPrice(rs.getInt("price"));

item.setPicture(rs.getString("picture"));

list.add(item);//把一个商品加入集合

}return list; //返回集合。

} catch(Exception ex) {

ex.printStackTrace();return null;

}finally{//释放数据集对象

if (rs != null) {try{

rs.close();

rs= null;

}catch(Exception ex) {

ex.printStackTrace();

}

}//释放语句对象

if (stmt != null) {try{

stmt.close();

stmt= null;

}catch(Exception ex) {

ex.printStackTrace();

}

}

}

}

}

业务逻辑层写好后,下面要做的就是在页面上来显示就可以了

展示所有商品

在index.jsp中(只贴出了body标签中的内容),这时候还么有去写jsp代码,仅仅是html页面

商品展示


<%=item.getPicture()%>

产地:  价格:¥

加入jsp代码后(标红的部分):

商品展示


ItemsDAO itemsDao = new ItemsDAO();

ArrayList list = itemsDao.getAllItems();

if(list!=null&&list.size()>0)

{

for(int i=0;i

{

Items item = list.get(i);

%>

<%=item.getPicture()%>

产地:  价格:¥

}

}

%>

最终展示:

ddedf80619a68c40f7d2384f34cac5cd.png

这行一定要有,否则中文乱码。

f3b0a974e89d8219429b9d4c39e98f13.png

Items item = itemDao.getItemsById(Integer.parseInt(request.getParameter("id")));

这句话是从上一个页面得到的指定的item

request.getParameter("id")传过来的是字符串了理性所以要转换成int类型

关于前后端的合作:前端页面先写死,固定排版,后面需要改变的变量,用jsp代码替换掉即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值