文章目录
- 前言
- 一,封装JDBC
- 二,增
- 2.1,UserDAO.java
- 2,2,UserServier.java
- 2,3,userUI.java添加用户
- 三,查
- 3.1,UserUI伪iu
- 3.2,UserServier.java
- 3.3,UserDAO.java
- END
前言
具体我也不知道那些专业名词,就按自己理解的来了,反正是能跑,没啥问题。
关系图:
service充当中间过渡,增删改查在dao完成,操作返回的数据在UI显示出来。
一,封装JDBC
先封装一个JDBC文件,方便后续调用。
如下图,先链接到本地mysql数据库。
之后使用静态代码块给静态常量成员赋初值:
写一个接口方法,返回静态conn。后续待用。
public static Connection getConnection(){return conn;}
二,增
2.1,UserDAO.java
写一个SQLException public方法,方便UI页面调用方法获取sql表。
public ResultSet searchAll() throws SQLException{Statement stmt = conn.createStatement();String sql = "select * from eat";//表名ResultSet rs = stmt.executeQuery(sql);return rs;}
返回表的内容(rs)。
再写一个DAO的add方法,作为操作数据库添加操作。
表当中添加数据的时候,我们表当中添加的实际上是商品id,商品名字,商品价格,商品库存。这样四个字段的数据,那我为了后续查询或者是其他操作的方便,我们会把一个用户。我们看一下,User in for,我会把user in for当中的一个用户封装成一个对象。一条记录就对应着我们的一个对象,一个记录对应着一个对象。所以现在我要做的操作,我就创建一个对象的实体类,这个实体类当中有四个属性。
2,2,UserServier.java
调用UserDAO,获取DAO查找的结果集,并传递出去.。
return dao.searchAll();
再写一个添加的方法:add
封装数据库里的,商品id,商品名字,商品价格,商品库存。
UserServier作为中间层调用传递给DAO,dao执行对数据库的增加操作。
2,3,userUI.java添加用户
用户管理
1-添加
2-删除
3-修改
4-查询
请输入数字,选择菜单功能:
输入1,执行添加操作。
输入用户名,密码----service----dao(插入一条记录)
这里调用上文的UserServier里的adduser方法,然后他,再继续调用DAO里的操作数据库添加方法。
ps:老师的话
那我们输入一进行添加,那我们要添加的这个用户名儿,比如说我就添加个SSS,那个密码我们随便填一下叫ABC这样一个密码。那执行完之后,执行完之后看没做任何的用户的交互,没有告诉用户我这个操作完成了,是成功还是没成功,需要我们自己到这里面去找一下到我们的这个用户表当中找一下,我们插入的是SSS,密码是ABC,那我们在底下这个地方刷新一下刷新这个位置上。这儿比较小,我点一下刷新,刷新之后看一下,我们现在这个表当中就添加了这样的一个数据,用户名儿SSS密码ABC这样一个数据,所以这就说明我们的操作已经完成很成功,能够在表当中插入一个用户
三,查
先看UI。
3.1,UserUI伪iu
case 4:searchAllUserxian();break;
调用searchAllUserxian方法。我们来看
这里写了应该过渡方法,用于细分查询的分类。
–1-按照编号查询 ------
–2-按照名称查询 ------
–3-查询全部 ------
我们先看查询全部; searchAllUser()方法:
原理就是,获取到DAo传递的结果集,使用while函数遍历结果集。输出目标值。
按照编号查询 :其实与查询全部类似。我们在循坏的时候加一个条件,筛选即可:
if(s.equals(eatname)){flag=1;System.out.println( uid + "\t " + eatname + "\t " + eatprice+ "\t " + spare );}
3.2,UserServier.java
上文的Ui在查询的时候需要调用Servier的searchAllFromUserInfo方法。
//获取DAO查找的结果集,并传递出去public ResultSet searchAllFromUserInfo() throws SQLException{return dao.searchAll();}
如上代码,其实这一层就是一个中间商。
3.3,UserDAO.java
UserServier.请求调用UI的searchAll方法,执行sql语句获得数据返回给上一层。
我们的service就要将从UI当中,从UI当中接收的这个user对象。把这个对象传递给DAO,然后一层返回一层。
END
throws SQLException
是抛出异常,查询执行错误会抛出,一般正常运行,不执行。