2021-04-14

Mybatis操作数据库

select单条数据

查询一条数据

select多条数据

查询多条数据

insert数据

insert是用来插入(或添加)行到数据库表的。
插入可以用几种方式使用:
插入完整的行;
插入行的一部分;
插入多行;
插入某些查询的结果。

update

用途:更新表中原有数据
单独使用,使用where匹配字段set后面,更新字段值,既可以一次一项,也可以一次多项

delete

  1.  删除数据语法: delete表名 [WHERE <逻辑表达式>]
    

(1).删除所有数据
delete 表名 即可删除所有数据delete lead
(2)删除特定列的值
在删除语句中加入where语句可以使得删除特定的行

SpringMVC工程搭建

springmvc请求映射注解

mvc:annotation-driven</mvc:annotation-driven>

搭建配置springmvc

spring org.springframework.web.servlet.DispatcherServlet 1 spring *.do org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:config/applicationContext.xml

编写代码测试

@RequestMapping(value=“user3/redirectUrl.do”)
public String redirectMethod(){ //return “redirect:/test.jsp”; return “redirect:/user3/login1.do”; }package com.tarena.controller; import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.servlet.ModelAndView; import com.tarena.entity.User;@Controllerpublic class UserController { /** * 接收客户端提交的数据 * 要求名称必须精确一对一匹配 * @param userName * @param userPassword * @return / @RequestMapping(value=“user/login1.do”,method=RequestMethod.POST) public ModelAndView login1(String userName,String userPassword){ System.out.println(userName+" "+userPassword); ModelAndView mav=new ModelAndView(); //假设此处调用业务,此处忽略业务 mav.addObject(“key”, “value”); //设置一个名称,用于springmvc拼装响应的url 前缀+success+后缀 mav.setViewName(“success”); return mav; } /* * * @param name @RequestParam(value=“userName”,required=true) String name * * @param pwd @RequestParam(“userPassword”)String pwd * * @return / @RequestMapping(value=“user/login2.do”,method=RequestMethod.POST) public ModelAndView login2( @RequestParam(value=“userName”,required=true) String name, @RequestParam(“userPassword”)String pwd){ System.out.println(name+" "+pwd); ModelAndView mav=new ModelAndView(); //假设此处调用业务,此处忽略业务 mav.addObject(“key”, “value”); //设置一个名称,用于springmvc拼装响应的url 前缀+success+后缀 mav.setViewName(“success”); return mav; } /* * * @param user 把name=“userName” -->setUserName 去User对象中找是否此方法,有就反射调用 * 把name=“userPassword” -->setUserPassword 去User对象中找是否此方法,有就反射调用 * @return / @RequestMapping(value=“user/login3.do”,method=RequestMethod.POST) public ModelAndView login3(User user){ System.out.println(user.getUserName()+" “+user.getUserPassword()); ModelAndView mav=new ModelAndView(); //假设此处调用业务,此处忽略业务 mav.addObject(“key”, “value”); //设置一个名称,用于springmvc拼装响应的url 前缀+success+后缀 mav.setViewName(“success”); return mav; } @RequestMapping(value=“user/login4.do”,method=RequestMethod.GET) public ModelAndView login4(String name,String pwd){ System.out.println(name+” "+pwd); ModelAndView mav=new ModelAndView(); //假设此处调用业务,此处忽略业务 mav.addObject(“key”, “value”); //设置一个名称,用于springmvc拼装响应的url 前缀+success+后缀 mav.setViewName(“success”); return mav; } }package com.tarena.controller; import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.Map; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView; import com.alibaba.fastjson.JSON;import com.tarena.entity.User;import com.tarena.vo.Result;@Controllerpublic class UserController2 { /* * 用ModelAndView 把数据存储给Model,把view 存储给View * @param userName * @param userPassword * @return ModelAndView / @RequestMapping(value=“user2/login1.do”,method=RequestMethod.POST) public ModelAndView login1(String userName,String userPassword){ System.out.println(userName+" "+userPassword); ModelAndView mav=new ModelAndView(); //假设此处调用业务,此处忽略业务 //假设业务返回的数据为一个集合 User user1=new User(1,“aa”,“aa”); User user2=new User(2,“bb”,“bb”); User user3=new User(3,“cc”,“cc”); ArrayList users=new ArrayList(); users.add(user1); users.add(user2); users.add(user3); /* * 把数据存储给model * 此写法为转发 * 等同于 * request.setAttribure(“allUsers”,users); * request.getRequestDispatcher(“WEB-INF/pages/success.jsp”).forward(request,response); / mav.addObject(“allUsers”, users); //设置一个名称,用于springmvc拼装响应的url 前缀+success+后缀 mav.setViewName(“success”); return mav; } /* * * @param userName * @param userPassword * @param model 参数位置任意 ,用来存储Model的数据 * @return String 代表view / @RequestMapping(value=“user2/login2.do”,method=RequestMethod.POST) public String login2( String userName, String userPassword, Model model){ System.out.println(userName+" "+userPassword); String result=“error”; //假设此处调用业务,此处忽略业务 //假设业务返回的数据为一个集合 User user1=new User(1,“aa”,“aa”); User user2=new User(2,“bb”,“bb”); User user3=new User(3,“cc”,“cc”); ArrayList users=new ArrayList(); users.add(user1); users.add(user2); users.add(user3); /* * 把数据存储给model * 此写法为转发 * 等同于 * request.setAttribure(“allUsers”,users); * request.getRequestDispatcher(“WEB-INF/pages/success.jsp”).forward(request,response); / model.addAttribute(“allUsers”, users); //设置一个名称,用于springmvc拼装响应的url 前缀+success+后缀 result=“success”; return result; } /* * * @param userName * @param userPassword * @param modelMap 代表的是Model * @return 代表的view / @RequestMapping(value=“user2/login3.do”,method=RequestMethod.POST) public String login3( String userName, String userPassword, ModelMap modelMap){ System.out.println(userName+" "+userPassword); String result=“error”; //假设此处调用业务,此处忽略业务 //假设业务返回的数据为一个集合 User user1=new User(1,“aa”,“aa”); User user2=new User(2,“bb”,“bb”); User user3=new User(3,“cc”,“cc”); ArrayList users=new ArrayList(); users.add(user1); users.add(user2); users.add(user3); /* * 把数据存储给model * 此写法为转发 * 等同于 * request.setAttribure(“allUsers”,users); * request.getRequestDispatcher(“WEB-INF/pages/success.jsp”).forward(request,response); / modelMap.addAttribute(“allUsers”, users); //设置一个名称,用于springmvc拼装响应的url 前缀+success+后缀 result=“success”; return result; } @RequestMapping(value=“user2/login4.do”,method=RequestMethod.POST) public String login4( String userName, String userPassword, Map map){ System.out.println(userName+" "+userPassword); String result=“error”; //假设此处调用业务,此处忽略业务 //假设业务返回的数据为一个集合 User user1=new User(1,“aa”,“aa”); User user2=new User(2,“bb”,“bb”); User user3=new User(3,“cc”,“cc”); ArrayList users=new ArrayList(); users.add(user1); users.add(user2); users.add(user3); /* * 把数据存储给model * 此写法为转发 * 等同于 * request.setAttribure(“allUsers”,users); * request.getRequestDispatcher(“WEB-INF/pages/success.jsp”).forward(request,response); / map.put(“allUsers”, users); //设置一个名称,用于springmvc拼装响应的url 前缀+success+后缀 result=“success”; return result; } @RequestMapping(value=“user2/login5.do”,method=RequestMethod.GET) @ResponseBody//借助jackson把java对象转换json字符串,并响应给客户端 public Result login5( String userName, String userPassword){ System.out.println(userName+" “+userPassword); Result result=new Result(); //假设此处调用业务,此处忽略业务 //假设业务返回的数据为一个集合 User user1=new User(1,“aa”,“aa”); User user2=new User(2,“bb”,“bb”); User user3=new User(3,“cc”,“cc”); ArrayList users=new ArrayList(); users.add(user1); users.add(user2); users.add(user3); result.setStatus(1); result.setMessage(“登录成功!!”); result.setData(users); return result; } @RequestMapping(value=“user2/login5_1.do”,method=RequestMethod.GET) public void login5_1( String userName, String userPassword, HttpServletRequest request, HttpServletResponse response){ System.out.println(userName+” “+userPassword); Result result=new Result(); //假设此处调用业务,此处忽略业务 //假设业务返回的数据为一个集合 User user1=new User(1,“aa”,“aa”); User user2=new User(2,“bb”,“bb”); User user3=new User(3,“cc”,“cc”); ArrayList users=new ArrayList(); users.add(user1); users.add(user2); users.add(user3); result.setStatus(1); result.setMessage(“登录成功!!”); result.setData(users); //程序员自己先把users对象转换成json字符串 //用response对象吧json字符串响应给客户端 String jsonString=JSON.toJSONString(result); System.out.println(“jsonString=”+jsonString); try { //设置response响应消息头 response.setContentType(“text/json;charset=UTF-8”); //构建响应的输出流 PrintWriter out=response.getWriter(); //把json字符串的内容响应给客户端 out.println(jsonString); out.flush(); out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}package com.tarena.controller; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView; import com.tarena.entity.User;@Controllerpublic class UserController3 { @RequestMapping(value=“user3/login1.do”,method=RequestMethod.GET) public String login1( HttpServletRequest request, HttpServletResponse response, HttpSession session)throws Exception{ System.out.println(“耦合了servlet的做法”); String userName=request.getParameter(“userName”); String userPassword=request.getParameter(“userPassword”); System.out.println(userName+” "+userPassword); //假设此处调用业务,此处忽略业务 //假设业务返回的数据为一个集合 User user1=new User(1,“aa”,“aa”); User user2=new User(2,“bb”,“bb”); User user3=new User(3,“cc”,“cc”); ArrayList users=new ArrayList(); users.add(user1); users.add(user2); users.add(user3); /* * 把数据存储给model * 此写法为转发 * 等同于 * request.setAttribure(“allUsers”,users); * request.getRequestDispatcher(“WEB-INF/pages/success.jsp”).forward(request,response); */ request.setAttribute(“allUsers”,users); //设置一个名称,用于springmvc拼装响应的url 前缀+success+后缀 return “success”; } @RequestMapping(value=“user3/redirectUrl.do”) public String redirectMethod(){ //return “redirect:/test.jsp”; return “redirect:/user3/login1.do”; } }

运行Wed项目

2.1 前端控制器
(1)在WEB-INF\web.xml中配置前端控制器springmvcorg.springframework.web.servlet.DispatcherServlet contextConfigLocationclasspath:springmvc.xml在这里插入代码片 1springmvc *.action123456789101112131415161718192012345678910111213141516171819202.2配置处理器适配器在springmvc.xml文件配置如下: 123412342.3处理器开发:控制器中,使用注释等的方式(以下是注解的文档,在另一篇文章中有常用的一些注解),将控制器在分发器(dispactservlet)的映射关系下将collection调用。org.springframework.web.servlet.mvc.Controller:处理器必须实现(implements)Controller 接口。ModelAndView:包含了模型数据及逻辑视图名public class ItemList1 implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { //商品列表 List itemsList = new ArrayList(); Items items_1 = new Items(); items_1.setName(“联想笔记本”); items_1.setPrice(6000f); items_1.setDetail(“ThinkPad T430 联想笔记本电脑!”); Items items_2 = new Items(); items_2.setName(“苹果手机”); items_2.setPrice(5000f); items_2.setDetail(“iphone6苹果手机!”); itemsList.add(items_1); itemsList.add(items_2); //创建modelAndView准备填充数据、设置视图 ModelAndView modelAndView = new ModelAndView(); //填充数据 modelAndView.addObject(“itemsList”, itemsList); //视图 一般在jsp下“xx/xx.jsp”列表中配置好。 modelAndView.setViewName(“order/itemsList”); return modelAndView; }}.4 配置处理器映射器spring.xml的文件内容如下:
5 处理器配置
.6 配置视图解析器在springmvc.xml文件配置如下: <property name=“viewClass"value=“org.springframework.web.servlet.view.JstlView”/><-- prefix 和suffix:查找视图页面的前缀和后缀,最终视图的址为:前缀+逻辑视图名+后缀,逻辑视图名需要在controller中返回ModelAndView指定,比如逻辑视图名为hello,则最终返回的jsp视图地址 “WEB-INF/jsp/hello.jsp”–>
7 视图开发创建/WEB-INF/jsp/order/itemsList.jsp视图页面:<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%><%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %><%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt”%>查询商品列表商品列表:

<c:forEach items=” i t e m s L i s t " v a r = " i t e m " > < t r > < t d > {itemsList }" var="item"><tr> <td> itemsList"var="item"><tr><td>{item.name } </c:forEach>
商品名称商品价格商品描述
i t e m . p r i c e < / t d > < t d > {item.price }</td> <td> item.price</td><td>{item.detail }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值