Mybatis前奏【Java Web 开发进化史】——万丈高楼从JDBC开始

     最初进行java web 开发是从界面JSP,数据JDBC ,中间夹个SERVLET 完成。这样开发模式毋庸置疑,三个字:相当练手!从数据库连接,到sql语句拼接;业务逻辑的实现均由我们程序猿一板砖一板砖的垒。重复的代码多了,开始谋划抽象,代码复用;连复用都觉得复杂了,便出现了这么一群人创造了框架……从此大多程序猿都走在了基于框架开发的康庄大道上。回顾java web开发史,最初是这样的。

 

     三者作为J2EE企业级开发13规范之三,撑起了java web 开发的顶梁柱基层工作;三者分别致力于前台界面、中间数据传输、数据持久化三个方面,面面相扣,一经整合,一个用java语言开发的界面跃然于浏览器之上。

其中最经典代码授予以下三块,从下到上:

1、JDBC创建数据库连接,操作数据

<span style="font-family:Comic Sans MS;">public List<Message> queryMsgList(String command,String description)
	{
		List<Message> msgList=new ArrayList<Message>();
		try
		{
			//JDBC创建数据库连接
			Class.forName("com.mysql.jdbc.Driver");
			Connection conn=DriverManager.getConnection

("jdbc:mysql://127.0.0.1:3306/wechat","root","123456");
			StringBuffer sql=new StringBuffer("select 

Id,command,content,description from message where 1=1");
			List<String> paraList=new ArrayList<String>();
			if(command!=null && !"".equals(command.trim()))
			{
				sql.append(" and command=?");
				paraList.add(command);
			}
			
			if(description!=null && !"".equals(description.trim()))
			{
				sql.append(" and description like '%' ? '%'");
				paraList.add(description);
				System.out.print(sql);
			}
			
			PreparedStatement pstmt=conn.prepareStatement(sql.toString

());
			for(int i=0;i<paraList.size();i++)
			{
				pstmt.setString(i+1, paraList.get(i));
				System.out.print(pstmt);
				
			}
			//根据传递参数,拼接sql语句,执行数据库CRUD操作
			ResultSet rs=pstmt.executeQuery();
		
			while(rs.next())
			{
				Message msg=new Message();
				msg.setId(rs.getInt("Id"));
				msg.setCommand(rs.getString("command"));
				msg.setContent(rs.getString("content"));
				msg.setDescription(rs.getString("description"));
				msgList.add(msg);
			}
		}
		catch (Exception e) {
			e.printStackTrace();
		}
		return msgList;</span>
2、 servlet 获取jsp页面参数传递;调用业务层,返回jsp页面回显数据;跳转页面

<span style="font-family:Comic Sans MS;font-size:14px;">@SuppressWarnings("serial")
public class ListServlet  extends HttpServlet{
	//private MessageService msgService;
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
			//获取jsp页面参数传递
			req.setCharacterEncoding("UTF-8");
			String command=req.getParameter("command");
			String description=req.getParameter("description");
			
			//调用service,返回jsp页面回显数据
			req.setAttribute("command", command);
			req.setAttribute("description",description);
			
			MessageService msgService=new MessageService();
			List<Message> msgList=msgService.queryMsgList(command, 

description);
			
			req.setAttribute("msgList", msgList);
			//跳转
			req.getRequestDispatcher("/WEB-INF/jsp/List.jsp").forward

(req,resp);
	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//HTTP method GET is not supported by this URL
		//子类重写,去掉super.doGet()
		 doGet(req, resp);
	}
}</span>

3、web.xml配置servlet路径和映射

<span style="font-family:Comic Sans MS;"><servlet>
  	<servlet-name>ListServlet</servlet-name>
  	<servlet-class>cn.max.servlet.ListServlet</servlet-class>
  </servlet>
  
  <servlet-mapping></span>
  <span style="font-family:Comic Sans MS;">	<servlet-name>ListServlet</servlet-name>
  	<url-pattern>/List.action</url-pattern>
  </servlet-mapping></span>

     经过无数行代码的历练后,各个聪明的程序猿创造出“框架”;将那些经常的、重复的操作封装到框架之中,例如JDBC数据库连接、数据库增删改查操作,都封装了一套自己的框架。数据层框架在java统一规范JPA的基础之上进行实现,于是hibernate、toplink等等对象关系映射框架【ORM】应运而生。同时也出现了前端struts、spring mvc等轻量级框架负责处理jsp页面数据交互。

 

     有了框架之后的日子——mybatis即将粉墨登场尽情期待


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值