JDBC实现简单的多数据注册(数据封装) 初学者

JDBC实现简单的多数据注册(数据封装)

(初学者笔记)

  1. 首先用户在网页上输入注册信息,此信息由form表单提交给Servlet(jsp经编译后就变成了Servlet。Servlet是由服务器调用的,运行在服务器端。)。
    Jsp部分代码:
<form action=" /admin_douseradd" method="post" id="myform" name="myform">
                    <table class="insert-tab" width="100%">
                        <tbody>
                            <tr>
                                <th><i class="require ">*</i>用户姓名:</th>
                                <td>
                                    <input class="common-text " id="title" name="username" size="50" value="" type="text">
                                </td>
                            </tr>
                            <tr>
                                <th><i class="require ">*</i>用户密码:</th>
                                <td>
                                    <input class="common-text " id="title" name="password" size="50" value="" type="text">
                                </td>
                            </tr>
                            <tr>
                                <th><i class="require ">*</i>年龄:</th>
                                <td>
                                    <input class="common-text " id="title" name="age" size="50" value="" type="text">
                                </td>
                            </tr>
                             <tr>
                                <th>电子邮件:</th>
                                <td>
                                    <input class="common-text" id="title" name="email" size="50" value="" type="text">
                                </td>
                            </tr>
                            <tr>
                                <th>手机号码:</th>
                                <td>
                                    <input class="common-text" id="title" name="mobile" size="50" value="" type="text">
                                </td>
                            </tr>
                        </tbody>
                 </table>
</form>

  1. 创建servlet文件
    (本文件实现功能:数据被提交到本文件中,并把数据写入数据库中)
    servlet文件代码:
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wxh.MONKEY_USER;
import com.wxh.service.MONKEY_USERDao;
/**
 * Servlet implementation class DoUserAdd
 */
@WebServlet("/admin_douseradd")
//提交到admin_douseradd
public class DoUserAdd extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public DoUserAdd() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//1.获取到数据集
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=utf-8");
		
		String username = request.getParameter("username")
		String pwd = request.getParameter("password");
		String sex = request.getParameter("sex");
		String email = request.getParameter("email");
		String mobile = request.getParameter("mobile");
		
		//2.创建用户实体(调用了MONKEY_USER类)
		MONKEY_USER u = new MONKEY_USER(username,name,pwd,sex,year,null,email,mobile,adress,1);
		
		//3.写入数据库(调用了MONKEY_USERDao类)
		int count = MONKEY_USERDao.insert(u);
		
		//4.成功或失败重定向
		if(count>0) {
        //重定向到admin_user.jsp文件
			response.sendRedirect("admin_user.jsp");
         //控制台输出插入成功
         System.out.print(“插入成功”);
		}else {
			PrintWriter out = response.getWriter();
			out.write("<script>");
			out.write("alert('用户添加失败')");
			out.write("location.herf='/manage/admin_useradd.jsp'");
			out.write("</script>");
		}
	}

}

  1. MONKEY_USER类(创建的实体类:对对象实体进行封装,方便操作)
public class MONKEY_USER { 
	private String USER_NAME;
	private String USER_PASSWORD;
	private String USER_SEX;
	private String USER_EMAIL;
	private String USER_MOBILE;
	//创建构造方法
	public MONKEY_USER(String uSER_NAME, String uSER_PASSWORD, String uSER_SEX, String uSER_EMAIL, String uSER_MOBILE) {
		super();
		USER_NAME = uSER_NAME;
		USER_PASSWORD = uSER_PASSWORD;
		USER_SEX = uSER_SEX;
		USER_EMAIL = uSER_EMAIL;
		USER_MOBILE = uSER_MOBILE;
	}
	public String getUSER_NAME() {
		return USER_NAME;
	}
	public void setUSER_NAME(String uSER_NAME) {
		USER_NAME = uSER_NAME;
	}
	public String getUSER_PASSWORD() {
		return USER_PASSWORD;
	}
	public void setUSER_PASSWORD(String uSER_PASSWORD) {
		USER_PASSWORD = uSER_PASSWORD;
	}
	public String getUSER_SEX() {
		return USER_SEX;
	}
	public void setUSER_SEX(String uSER_SEX) {
		USER_SEX = uSER_SEX;
	}
	
	public String getUSER_EMAIL() {
		return USER_EMAIL;
	}
	public void setUSER_EMAIL(String uSER_EMAIL) {
		USER_EMAIL = uSER_EMAIL;
	}
	public String getUSER_MOBILE() {
		return USER_MOBILE;
	}
	public void setUSER_MOBILE(String uSER_MOBILE) {
		USER_MOBILE = uSER_MOBILE;
	}
}

  1. MONKEY_USERDao类(专门处理用户的增删改)
    MONKEY_USERDao.java
package com.wxh.service;
import com.wxh.MONKEY_USER;
import com.wxh.dao.Basedao;

//数据库插入数据
public class MONKEY_USERDao {
      public static int insert(MONKEY_USER u){
		  String sql = "insert into MONKEY_USER values(?,?,?,?,DATE_FORMAT(?,'%Y-%m-%d'),?,?,?,?,?)";
		  //DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
		  //DATE_FORMAT(date,format)date 参数是合法的日期。format 规定日期/时间的输出格式。
		  //用户参数改成Object对象
		  Object[] params = {
				  u.getUSER_NAME(),
				  u.getUSER_PASSWORD(),
				  u.getUSER_SEX(),
				  u.getUSER_EMAIL(),
				  u.getUSER_MOBILE()};
		  return Basedao.exectuIUD(sql, params);
	}
}

  1. JDBC数据库连接代码(Basedao.java)
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;

public class Basedao {
	//静态代码块
	static {
		//加载驱动
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static Connection getconnection () {
		//1.获取数据库连接(mysql-5.7.17)
			
		Connection connection = null;
		try {
			connection = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/day?useUnicode=true&characterEncoding=utf-8","root","root");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		return connection;
	}
	//数据库增删改
	public static int exectuIUD(String sql,Object[] params) {
		int count = 0;
		
		//获取连接
		Connection connection = Basedao.getconnection();
		
		//准备SQL
		PreparedStatement ps = null;
		
		//插入
		try {
			//预编译sql语句,返回PreparedStatement的实例
			ps = conn.prepareStatement(sql);
			//绑定参数
			for (int i = 0; i < params.length; i++) {
				ps.setObject(i+1,params[i]);
			}
			
			count = ps.executeUpdate();
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			Basedao.closeall(null, ps, conn);
		}
		return count;
	}
	
	//关闭
	public static void closeall(ResultSet rs,PreparedStatement ps,Connection conn) {
		try {
			if(rs!=null) {		
				rs.close();
		}
		if (ps!=null) {
			ps.close();
		}
		if (conn!=null) {
			conn.close();
		}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值