(三) Mybatis 初学者项目讲解

1:SSM整体价格分析:

S:Spring  

S: SpringMvc

M:mybatis

2:main里面需要添加3个文件夹。

根目录下的Pom需要加载公用Jar包,例如spring,mysql,mybatis,

log4j,springmvc 等等

3:3个文件夹 Java  ,resouces,webapp 里面的文件结构。

java:里面的

com.system 里面文件夹:controller  exception mapper po  realm  service 

resources 里面的文件夹:mybatis   spring 以及2给文件:log4j 跟mysql

webapp 里面的文件夹:最重要的文件夹 WEB-INF 

4:页面的访问流程:

构造页面,是需要通过控制器的,所以URL地址是控制器的方法地址:然后方面里面返回的页面就是 webapp的jsp地址。

例如:

1:控制器的路由:

在类的上面标注的

@Controller                           // 控制器声明
@RequestMapping(value = "/student")  // 路由控制器名字

在方法上面标注的:

@RequestMapping(value = "/showCourse")   //这里访问的就是ip/student/showCourse

2:控制器里面调用 方式

首先把服务层的接口依赖注入到类中。

@Resource(name = "courseServiceImpl")
private CourseService courseService;

然后在方法里面:courseService直接调用方法出来。

list = courseService.findByPaging(1);

3:把查询的数据返回到页面:需要把list添加到addattribute里面

model:是方法里面 的默认参数,可以不传值

model.addAttribute("courseList", list);

4:返回页面:

return "student/showCourse";  这里的返回页面string必须是 在前端jsp里面有相同的路径页面。例如:

跟目录相当于在webapp下,需要找到 :Resources里面的spring文件夹下的springmvc文件。

找到 视图解析器,

前缀:/WEB-INF/jsp/   

控制前返回:student/showCourse

后缀:.jsp

全部路径就是:/WEB-INF/jsp/ student/showCourse.jsp   

<!--视图解析器-->
<!--
需要配置解析jsp的视图解析器
jsp解析,默认使用jstl标签解析
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--拼接视图地址的前缀和后缀-->
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>

5:控制器访问服务层:

  控制器里面调用 方式

首先把服务层的接口依赖注入到类中。

@Resource(name = "courseServiceImpl")
private CourseService courseService;

然后在方法里面:courseService直接调用方法出来。

list = courseService.findByPaging(1);

6:服务层代码以及调用mapper层

每一个被控制器spring注入的接口都有实现类,在实现类里面需要调用mapper层的代码,同样也需要spring注入mapper层的接口。

调用mapper的代码也是需要使用依赖注入:

//使用spring 自动注入
@Autowired
private StudentMapperCustom studentMapperCustom;

然后在方法里面:调用

List<StudentCustom> list = studentMapperCustom.findByPaging(pagingVO);

7:mapper 层代码:

这里有点颠覆我们之前都orm的认知。尤其是C#传到java的,对xml的印象就是 配置文件,在这里我们需要把他当着类来处理。

接口是为了让服务层调用,然后定义的方法,在xml里面做具体实现: 

如下图:每一个接口都对应了一个xml文件。就相当于xml文件是接口的实现类。

1:xml跟接口的绑定关键:根据mapper里面的namespace来绑定

<mapper namespace="com.system.mapper.StudentMapperCustom">

2:xml里面必须要有 resulpMap 映射关系, 里面的type 就是表名称

里面的属性是表字段关系。

<resultMap id="StudentAndSelectCourseResultMap" type="StudentCustom">
<id column="userID" property="userid"/>
<result column="userName" property="username" />
<result column="sex" property="sex" />
<result column="birthYear" property="birthyear" />
</resultMap>

后面就是 接口里面的方法实现的具体sql语句

id:就是对应接口里面的方法

parameterType:是参数

resultType:是返回值

里面的内容就是sql语句

<select id="findByPaging" parameterType="PagingVO" resultType="StudentCustom">
    select student.*, college.collegeName
    from student, college
    WHERE student.collegeID = college.collegeID
    limit #{toPageNo}, #{pageSize}
</select>

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值