项目准备
jar包如下:
mybatis 及 jdbc相关包
spring 包共计21个,如果清楚每个包是干什么的,可以按需添加
项目搭建
1.在eclipse新建 web项目
点击第三个
project name 任意 注意规范 点击next
点击next
勾选generate web.xml 点击 finish
项目初始化完成,如上图项目结构
2.将jar包复制粘贴到 WEB-INF 的 lib 目录下
结果如上,会在 Libraries 下生成web app libraries
3.创建xml文件
/p>
PUBLIC"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
mybatis-config.xml
configuration 元素中 有很多子元素,常用的就是 mapper子元素 指明 映射文件位置 要写全路径名
applicationContext.xml
打开扫描注解,并声明 事务与mybatis相关类
dispatcher-servlet.xml
声明 viewResolver视图,指明jsp文件映射路径
test
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
/WEB-INF/applicationContext.xml
dispatcher
org.springframework.web.servlet.DispatcherServlet
0
dispatcher
/
default
*.jpg
default
*.js
default
*.css
default
*.html
web.xml
打开监听器,初始化spring容器,并指明spring配置文件地址
dispatcher-servlet.xml 的命名一定要和 web.xml中 name-servlet.xml 的形式
的对应
配置xml文件后的项目目录如下:
4.新建包
5.初始化数据库,并生成 mybatis sql脚本
数据库表如下,自行操作。
packagecom.ssm.mapper;importjava.util.List;importorg.springframework.stereotype.Repository;importcom.ssm.entity.person;
@Repositorypublic interfacetestMapper {public intinsertCourse(person p);public ListSelectall();public ListSelectAllByname(String arg);
}
testMapper.java
/p>
PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
insert into test values(#{ClassRoomId},#{ClassRoomName},#{CourseName},#{teacherName},#{StartWeek},#{EndWeek},#{WhichCount},#{WhatDay},#{domain})
select*from test
select*from test where name=#{arg}
testMapper.xml
实体
packagecom.ssm.entity;public classperson {privateString name;privateString phone;private intage;publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}publicString getPhone() {returnphone;
}public voidsetPhone(String phone) {this.phone =phone;
}public intgetAge() {returnage;
}public void setAge(intage) {this.age =age;
}
}
person.java
6.服务
packagecom.ssm.service;importjava.util.List;importcom.ssm.entity.person;public interfacetestService {public intinsertPerson(person p) ;public Listall();public Listsearch(String arg);
}
testService.java
packagecom.ssm.service;importjava.util.List;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importcom.ssm.entity.person;importcom.ssm.mapper.testMapper;
@Service("testService")public class testServiceImpl implementstestService{
@Autowired
testMapper tm=null;public intinsertPerson(person p) {returntm.insert(p);
}public Listall(){returntm.Selectall();
}public Listsearch(String arg){returntm.SelectAllByname(arg);
}
}
testServiceImpl.java
7.Controller
packagecom.ssm.controller;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.servlet.ModelAndView;importcom.ssm.entity.person;importcom.ssm.service.testService;importcom.ssm.service.testServiceImpl;
@Controller("myController")public classmyController {
@Autowired
testService tsi=null;
@RequestMapping("/index")publicModelAndView index() {
ModelAndView mv=newModelAndView();
StringBuilder sb=newStringBuilder();for(person p:tsi.all()) {
sb.append(p.toString());
sb.append("
");
}
mv.setViewName("index");
mv.addObject("str", sb.toString());returnmv;
}
}
myController.java
服务和Controller 中使用了@Autowired注解 自动注入,以及项目中使用了其他 实体注解
项目结构
运行截图
图中存在乱码,加入转码过滤器就行了,登录带数据库 那篇博客里面有
该示例只是一个 ssm的demo