发表于: 2018-03-30 22:51:28
1 549
今天完成的事情:
ssm框架实现遍历表中内容,今天找的教程时比较正常的。。。
项目结构
Category Mapper接口
public interface CategoryMapper {
void add(Category category);
void delete(int id);
Category get(int id);
void update(Category category);
List<Category> list();
int count();
}
其映射文件
<mapper namespace="com.ssm.dao.CategoryMapper">
<insert id="add" parameterType="Category" >
insert into category_ ( name ) values (#{name})
</insert>
<delete id="delete" parameterType="Category" >
delete from category_ where id= #{id}
</delete>
<select id="get" parameterType="_int" resultType="Category">
select * from category_ where id= #{id}
</select>
<update id="update" parameterType="Category" >
update category_ set name=#{name} where id=#{id}
</update>
<select id="list" resultType="Category">
select * from category_
</select>
</mapper>
然后暂时service层只实现一个方法,list();
可以看到这里注入的categoryMapper是爆红了的,但是其实我是有在配置文件中注册了的,下面会给到配置文件。奇怪的是这个还是可以运行的,而且在师兄的电脑上没有爆红。
spring整合mybatis配置文件applicatoinContext.xml
<context:component-scan base-package="com.ssm.service" />
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="typeAliasesPackage" value="com.ssm.model" />
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:com/ssm/dao/*.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.ssm.dao"/>
</bean>
springMVC配置文件
<context:component-scan base-package="com.ssm.controller">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<mvc:annotation-driven />
<mvc:default-servlet-handler />
<!-- 视图定位 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
控制器Category Controller
@Controller
@RequestMapping("")
public class CategoryController {
@Autowired
private CategoryService categoryService;
@RequestMapping("listCategory")
public ModelAndView listCategory() {
ModelAndView mav = new ModelAndView();
List<Category> cs = categoryService.list();
mav.addObject("cs", cs);
mav.setViewName("listCategory");
return mav;
}
}
ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 , 使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。
所以就是从数据库返回的数据,然后在通过
跳转到指定页面。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<table align='center' border='1' cellspacing='0'>
<tr>
<td>序号</td>
<td>名字</td>
</tr>
<c:forEach items="${cs}" var="c" varStatus="st">
<tr>
<td>${c.id}</td>
<td>${c.name}</td>
</tr>
</c:forEach>
</table>
最后运行成功
之前我在做的时候改了一些地方,比如说加入了外部的druid数据库连接池,用的是<import resources="druid.xml">引入的,但是一直提示我url为空。我也不知道为什么,也有可能是连接池本身的问题,或是导入的方式不对。有时间的话再去研究研究,今天已经被卡了很久了,就因为两个小问题。
明天计划的事情:
设计分页
遇到的问题:如上两个问题
收获:实现了遍历
进度:任务二步骤二
任务开始时间:3.23
预计demo时间:3.28
是否延期:是,预计延期到4.3
学习方法不当,太容易较真,吸收能力较差;低估任务难度。
禅道地址:http://task.ptteng.com/zentao/project-task-562.html
评论