第十六周作业-2

一、 

SpringBoot系列教材 (十四)- 持久层支持 - Springboot中如何运用Mybatis 简单例子 

一)在数据库中新增几条记录后,在application.properties中新增数据库链接必须的参数

二)在pom.xml中新增对增加对mysql和mybatis的支持

 三)增加一个包:com.how2java.springboot.pojo,然后创建实体类Category。

四)

增加一个包:com.how2java.springboot.mapper,然后创建接口CategoryMapper。
使用注解@Mapper 表示这是一个Mybatis Mapper接口。
使用@Select注解表示调用findAll方法会去执行对应的sql语句。 

五)增加一个包:com.how2java.springboot.web,然后创建CategoryController 类。
1. 接受listCategory映射
2. 然后获取所有的分类数据
3. 接着放入Model中
4. 跳转到listCategory.jsp中

return后的“listCategory”不是返回一个字符串,而是返回 listCategory.jsp

六)在main下新建webapp->WEB-INF->jsp文件夹,在jsp下新建.listCategory.jsp

 用jstl遍历从CategoryController 传递过来的集合:cs

七) 因为在pom.xml中增加了jar包的依赖,所以仅仅通过Springboot本身的热部署是无法起作用的,得手动重启一下

需要重启eclipse后,运行Application.java,再访问测试地址 

Application.java中,其注解 @SpringBootApplication 表示这是一个SpringBoot应用,运行其主方法就会启动tomcat,默认端口是8080 

 

二、

SpringBoot系列教材 (十五)- 持久层支持 - Mybatis-xml方式

 一)取消CategoryMapper中的注解

二)在Mapper类旁边,新增加Category.xml文件,里面就是放的这个取消的注解sql语句(主要区别于一的地方)

三)修改application.properties, 指明从哪里去找xml配置文件,同时指定别名

 

其中resultType=“User”中,User就是自定义的POJO,此时可以使用完全限定名来指定这些POJO的引用,例如:

1

<select id="findByName" resultType="com.how2java.springboot.pojo">

第二种方法就是使用mybatis.type-aliases-package来指定POJO扫描包来让mybatis自动扫描到自定义的POJO。

在application.propertites配置文件中配置如下信息:

mybatis.type-aliases-package=com.how2java.springboot.pojo

 

 四)重启后访问http://127.0.0.1:8080/listCategory

(也可以不重启,因为是自动重载的) 

三、 增删查改操作

SpringBoot系列教材 (十七)- CRUD+分页 - Springboot使用Mybatis实现完整的 增删改查 CRUD和分页

使用Mybatis来做一个完整的CRUD和分页。 其中分页使用Mybatis 里讲解的PageHelper插件

一)在pom.xml中增加对PageHelper的支持

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

<version>4.1.6</version>

</dependency>

 

二)注解@Configuration 表示PageHelperConfig 这个类是用来做配置的。
注解@Bean 表示启动PageHelper这个拦截器。

新增加一个包 com.how2java.springboot.config, 然后添加一个类PageHelperConfig ,其中进行PageHelper相关配置。
offsetAsPageNum:设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用.

p.setProperty("offsetAsPageNum", "true");


rowBoundsWithCount:设置为true时,使用RowBounds分页会进行count查询.

p.setProperty("rowBoundsWithCount", "true");


reasonable:启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页。

p.setProperty("reasonable", "true");

 三)修改CategoryMapper,增加CRUD方法的支持。 其实就是调用不同的SQL语句。

 

四)为CategoryController添加: 增加、删除、获取、修改映射

@RequestMapping("/addCategory")
public String listCategory(Category c) throws Exception {
	categoryMapper.save(c);
	return "redirect:listCategory";
}
@RequestMapping("/deleteCategory")
public String deleteCategory(Category c) throws Exception {
	categoryMapper.delete(c.getId());
	return "redirect:listCategory";
}
@RequestMapping("/updateCategory")
public String updateCategory(Category c) throws Exception {
	categoryMapper.update(c);
	return "redirect:listCategory";
}
@RequestMapping("/editCategory")
public String listCategory(int id,Model m) throws Exception {
	Category c= categoryMapper.get(id);
	m.addAttribute("c", c);
	return "editCategory";
}

 修改查询映射

 五)通过page.getList遍历当前页面的Category对象。
在分页的时候通过page.pageNum获取当前页面,page.pages获取总页面数。

 

六)修改分类的页面

七)手动重启,运行Application.,java后访问http://127.0.0.1:8080/listCategory?start=2 

因为在pom中增加了新jar的依赖,所以需要手动重启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值