day19

数据库的事件

java数据库中默认的是每读取一行代码就执行一次事件。但是有的时候我们会需要用到许多代码来组成一个事件,这里就要用到setAutoCommit(false);方法来取消默认的事件执行周期,然后再用commit()方法来把以上的代码当成一个事件来执行

                String sql1 = "insert into user(user_name,password) values('asdasd','adasd')";
                String sql2 = "insert into user(user_name,password) values('qwsdase','aderasd')";
                String sql3 = "insert into user(user_name,password) values('ssdsd','adaasd')";
                String sql4 = "insert into user(user_name,password) values('34322','adasxcd')";
                String sql5 = "insert into user(user_name,password) values('asdwerasd','adazxcsd')";
                Connection conn = SQLManager.Instance().getConn();
                try {
                    Statement state1 = conn.createStatement();
                    conn.setAutoCommit(false);
                    state1.execute(sql1);
                    state1.execute(sql2);
                    state1.execute(sql3);
                    state1.execute(sql4);
                    state1.execute(sql5);
                    conn.commit();
                } catch (SQLException e) {
                    e.printStackTrace();
                }

运行结果:
这里写图片描述
这里写图片描述
这里写图片描述

说明:这里报错是证明了这五句话为一个事件,当其中出现错误时,五句话的结果都没有反映到数据库中,表明了是一个事件

Serverlet

import java.io.UnsupportedEncodingException;

public class Encoding {
    public static String  doEncoding(String string ){
        try {
            byte[] arr  = string.getBytes("ISO-8859-1");
            string = new String(arr,"UTF-8");
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return string;

    }
}
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ServerLetTest
 */
@WebServlet("/ServerLetTest")
public class ServerLetTest extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServerLetTest() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String userName = request.getParameter("username");
        String password = request.getParameter("password");
        userName = Encoding.doEncoding(userName);
        System.out.println("   "+userName+"  "+password);
        String s = "用户名为:"+userName+",密码为:"+password;
        response.setHeader("Content-type", "text/html;charset=UTF-8");
        response.getWriter().append(s);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

运行结果:
这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值