MyBatis的收集数据和将数据转发到页面

收集数据

1.用属性收集

实体类

public class User {
    private  Integer uid;
    private String uname;
    private String pass;
    	//构造方法,tostring方法,setget方法

}

控制器中
UserController

@Controller
public class UserController {		

	//删除的方法
	@RequestMapping("/deleteUser")
	public String deleteUser(int uid){//获取页面的uid,页面的名字和控制器中的名字要一样
	    System.out.println(uid);
	    befer();
	    UserMapper mapper=session.getMapper(UserMapper.class);
	    int i = mapper.deleteUser(uid);
	    System.out.println(i);
	    after();
	    return "redirect:/TestAll.action?pageNum=1&pageSize=3";
	}
	
		
	
	
	
	public void befer(){
	    SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(getClass().getClassLoader().getResourceAsStream("mybatis-config.xml"));
	    session = factory.openSession();
	}
	
	public void after(){
	    session.commit();
	    session.close();
	}
	
}
2.用对象收集
@RequestMapping("updateUser")
public String updateUser(User user){//传对象,页面上就直接对象里面的属性名 比如<input type="text" name="uname"/>
    befer();
    UserMapper mapper=session.getMapper(UserMapper.class);
    int i = mapper.updateUser(user);
    System.out.println(i);
    after();
    return "redirect:/TestAll.action";//重定向
}

将数据转发到页面

第一种方式 request的方式
@RequestMapping("TestUser")
public String TestUser(HttpServletRequest request){
    User u=new User("小明","123456");
    request.setAttribute("user",u);
    return "index";
}
第二种方式 解耦合的方式
@RequestMapping("TestUser")
public String TestUser(Map  map){
    User u=new User("小明","123456");
    map.put("user",u);
    return "index";
}

页面上

<c:foreach items="${user}" var="u">
	${u.uid}+${u.uname}+${u.password}
</c:foreach>
第三种方式 使用ModelAndView对象向页面响应数据
public ModelAndView show(){
	//创建模型视图对象
	ModelAndView model=new ModelAndView();
	model.addObject("uname","tome");
	//设置跳转的视图名称
	model.setViewModel("success");
	return model;
}

页面就直接获取uname

响应json数据给浏览器
第一种方式

导入依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.61</version>
</dependency>

控制器中

@RequestMapping("testJson1")
public String testJson1(HttpServletResponse response){
	List<User> list=new ArrayList<>();
        list.add(new User("admin","123456"));
        list.add(new User("admin1","123456"));
	JSONObject object=new JSONObject();
	object.put("rows",list);
	System.out.println(object.toJSONString());
	try {
	    response.setContentType("text/html;charset=utf-8");
	    response.getWriter().print(object.toJSONString());
	} catch (IOException e) {
	    e.printStackTrace();
	}
	return null;
}
第二种springmvc的方式

导入依赖

<!-- jackson数据绑定 -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.8</version>
</dependency>
<!-- jackson转换json数据的核心 -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.8</version>
</dependency>
<!-- 注解 -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.8</version>
</dependency>

控制器中

    @ResponseBody
    @RequestMapping("getJson1")
    public Map<String,List> getJson1(){
	 Map<String,List> map=new HashMap<>();
        List<User> list=new ArrayList<>();
        list.add(new User("admin","123456"));
        list.add(new User("admin1","123456"));
	map.put("rows",list);
        return map;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值