JavaWeb之数据的绑定、修改、删除、查询

目录

一、如何把数据绑定到页面上;

二、如何修改页面已有的数据;

三、如何删除页面上的已有数据;

四、如何完成下拉框数据的绑定;


嗨喽,又见面了,大家好我是Leaf,今天为大家带来关于JavaWeb的数据绑定、修改、删除以及查询的一些方法,好啦,话不多说,接下来进入我们的学习时间! 


一、如何把数据绑定到页面上

1.1 如何绑定数据?

绑定数据,这个数据自然就是数据库里面的数据,所有,第一步肯定就是我们的连接数据库的一连串操作,具体步骤在Leaf的前两篇文章里也有详细笔记分享,这里就不做过多赘述。

我们想在jsp页面中实现绑定数据,自然就得利用我们的<%%>,这个语法在我们之前的文章也有解释说明,不做过多解释。

步骤1:

             找到我们需要绑定数据的位置,

             在其前面套入一个<%%>,里面连接数据库,也就是JDBC的相关操作。

步骤2:

                  写好查询全部的SQL语句、循环遍历,关键就是这,利用<%%>无孔不入的特性

                  将要绑定的位置处于<%%>之外,循环之内,

                  然后就直接利用rs.getString(列下标)得到数据就ok了。

这里放上代码: 

    <%
    	//破碎重组
    	String bt=new String(bt.getBytes("iso-8859-1"),"UTF-8");//解决乱码方式
    	
    	//jdbc连接数据库查询所有的新闻:id、新闻标题、作者
    	String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
    	String CNAME = "oracle.jdbc.driver.OracleDriver";
    	//加载驱动
    	Class.forName(CNAME);
    	//创建连接
    	Connection con = DriverManager.getConnection(URL, "scott", "tiger");
    	//定义sql语句
    	String sql = "select * from tb_news";
    	//获得执行对象
    	PreparedStatement ps = con.prepareStatement(sql);
    	//获得结果集
    	ResultSet rs = ps.executeQuery();
    	//循环遍历
    	while(rs.next()){
    %>
     	    <%= rs.getString(1) %>"> 
    <%
    	}
    	//关闭资源
    	if(con!=null&&!con.isClosed()){
			con.close();
		}
		if(ps!=null){
			ps.close();
		}
		if(rs!=null){
			rs.close();
		}
    %>

二、如何修改页面已有的数据

学会了绑定数据,接下来再让我们一起来看看怎么修改数据吧~

2.1 如何修改数据?

修改数据,其实和增加数据是有些相似的,可以去看看Leaf的上篇文章回顾一下噢!

所谓修改,第一步自然就是拿到要修改的数据id咯,记住要先绑定原来的数据

在这个数据的基础上去进行修改,提高用户友好性!

步骤1:

        连接JDBC,这是真正执行想要的操作的前提;

        根据上个页面传来的id查询到原来的数据,进行绑定;

步骤2:

        提交表单后在另一个页面中保证没毛病的拿到所有表单的值;(拿值语法在前两篇文章) 

        再次连接JDBC,写好修改的SQL语句,运用拿到的值去给各个内容赋值;

        判断一下是否修改成功,否的话就跳转回去修改页面,反之则回绑定数据页面;

        最后记得关闭资源就ok啦。

这里放上代码: 

<%
	//实现修改
	String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
	String CNAME = "oracle.jdbc.driver.OracleDriver";
	Class.forName(CNAME);
	Connection con = DriverManager.getConnection(URL, "scott", "tiger");
	String sql = "update tb_news set tid=?,bt=?,zz=?,zy=?,nr=?,sj=? where nid=?";
	PreparedStatement ps = con.prepareStatement(sql);
	//给占位符赋值
	ps.setInt(1, Integer.parseInt(zid));
	ps.setString(2, name);
	ps.setString(3, zz);
	ps.setString(4, zy);
	ps.setString(5, nr);
	ps.setString(6, sj);
	ps.setInt(7, Integer.parseInt(nid));
	
	//获得影响行数
	int n = ps.executeUpdate();

	//关闭资源
	if(con!=null&&!con.isClosed()){
		con.close();
	}
	if(ps!=null){
		ps.close();
	}
	
	//判断
	if(n>0){//修改成功
		//新闻主界面
		response.sendRedirect("/s4/news/admin.jsp");
	}
	else{//修改失败
		out.print("");
	}
	
%>

三、如何删除页面上的已有数据

嗨喽,上面的知识学习的咋样?好东西又来了哟~

我们现在再来看看如何删除你看着特别不爽的数据啦!

3.1 怎么删除数据呢?

不同以上操作的繁多代码,删除数据真的是很简略的!

但是要注意删除数据最重要的就是你要删除的数据的唯一id啦!

这个id要是搞错了,删除错了数据可就没有地方哭噢~

步骤1:

        就直接拿到你要删除的id;

        老朋友:连接JDBC,写好我们的删除语句,记得写条件噢!!!

        是谁又不写条件导致全表数据被删除我不说hhh

步骤2:

        最后我们再判断一下是否删除成功就好啦;

        这里要注意的是不管删除成功与否都要返回绑定数据的页面; 

这里放上代码: 

<%
	//设置编码方式
	request.setCharacterEncoding("UTF-8");
	//接收nid 根据键拿到值
	String nid = request.getParameter("nid");
	//jdbc删除
	String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
   	String CNAME = "oracle.jdbc.driver.OracleDriver";
   	//加载驱动
   	Class.forName(CNAME);
   	//创建连接
   	Connection con = DriverManager.getConnection(URL, "scott", "tiger");
   	//定义sql语句
   	String sql = "delete tb_news where nid="+nid;
   	//获得执行对象
   	PreparedStatement ps = con.prepareStatement(sql);
	//开始执行
	int n = ps.executeUpdate();//影响行数
	
	//关闭资源
	if(con!=null&&!con.isClosed()){
		con.close();
	}
	if(ps!=null){
		ps.close();
	}
	
	//做判断
	if(n>0){
		//删除成功
		response.sendRedirect("/s4/news/admin.jsp");
	}
	else{
		//删除失败
		out.print("");
	}
	
%>

四、如何完成下拉框数据的绑定

接下来就让我们来看看下拉框的数据是如何绑定的吧~

4.1 绑定下拉框的数据?

看到这里咱们也是经历过绑定数据的人了!看到下拉框绑定,咱就是说:根本不慌!

步骤1:

        第一步当然是找到下拉框的位置啦;

        连接JDBC,写好查询全部的SQL语句

        循环遍历;

        再利用rs.getint(数据库表中列的下标);放到相应的位置就ok啦。

这里依旧放上代码: 

        <%
	        //jdbc连接数据库查询所有的新闻:id、新闻标题、作者
	    	String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
	    	String CNAME = "oracle.jdbc.driver.OracleDriver";
	    	//加载驱动
	    	Class.forName(CNAME);
	    	//创建连接
	    	Connection con = DriverManager.getConnection(URL, "scott", "tiger");
	    	//定义sql语句
	    	String sql = "select * from tb_zt order by zid";
	    	//获得执行对象
	    	PreparedStatement ps = con.prepareStatement(sql);
	    	//获得结果集
	    	ResultSet rs = ps.executeQuery();
	    	//循环遍历
	    	while(rs.next()){
        %>
          	
          <%
	    	}
	    	//关闭资源
	    	if(con!=null&&!con.isClosed()){
				con.close();
			}
			if(ps!=null){
				ps.close();
			}
			if(rs!=null){
				rs.close();
			}
          %>

好啦,由于今天基本都是利用旧的语法套用一些巧妙的方法来进行我们想要的操作,所有酒没有放思维导图啦,可以多去敲敲!多实践O(∩_∩)O

然后今天Leaf的学习笔记分享就到这里啦!后期照样还有许多的笔记分享以及源码案例!

感兴趣的可以关注一起学习噢!!! 

你可能感兴趣的:(前端,JavaWeb,eclipse,前端,java)