14.SSM整合
admin
2024-04-04 21:25:14
0

一:ContextLoaderListener

Spring提供了监听器ContextLoaderListener,实现ServletContextListener接口,可监听 ServletContext的状态,在web服务器的启动,读取Spring的配置文件,创建Spring的IOC容器。web 应用中必须在web.xml中配置

    org.springframework.web.context.ContextLoaderListenercontextConfigLocationclasspath:spring.xml

二:准备工作

①创建Maven Module

②导入依赖

    war5.3.23org.springframeworkspring-context${spring.version}org.springframeworkspring-beans${spring.version}org.springframeworkspring-web${spring.version}org.springframeworkspring-webmvc${spring.version}org.springframeworkspring-jdbc${spring.version}org.springframeworkspring-aspects${spring.version}org.springframeworkspring-test${spring.version}org.mybatismybatis3.5.11org.mybatismybatis-spring2.0.6com.alibabadruid1.0.9junitjunit4.12testmysqlmysql-connector-java8.0.29log4jlog4j1.2.17com.github.pagehelperpagehelper5.2.0ch.qos.logbacklogback-classic1.2.3javax.servletjavax.servlet-api3.1.0providedcom.fasterxml.jackson.corejackson-databind2.12.1commons-fileuploadcommons-fileupload1.3.1org.thymeleafthymeleaf-spring53.0.12.RELEASE

三:配置web.xml

    CharacterEncodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8forceEncodingtrueCharacterEncodingFilter/*HiddenHttpMethodFilterorg.springframework.web.filter.HiddenHttpMethodFilterHiddenHttpMethodFilter/*SpringMVCorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:springmvc.xml1SpringMVC/org.springframework.web.context.ContextLoaderListenercontextConfigLocationclasspath:spring.xml

四:创建SpringMVC的配置文件并配置

    

五:搭建MyBatis环境

①创建属性文件jdbc.properties

jdbc.driver=com.mysql.cj.jdbc
jdbc.url=jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC
jdbc.username=root
jdbc.password=abc123

②创建MyBatis的核心配置文件mybatis-config.xml

    

③创建Mapper接口和映射文件 

public interface EmployeeMapper {
}

④创建日志文件log4j.xml




六:创建Spring的配置文件并配置

    

七:测试功能

①创建组件

实体类Employee

public class Employee {private Integer empId;private String empName;private Integer age;private String sex;private String email;public Employee() {}public Employee(Integer empId, String empName, Integer age, String sex, String email) {this.empId = empId;this.empName = empName;this.age = age;this.sex = sex;this.email = email;}public Integer getEmpId() {return empId;}public void setEmpId(Integer empId) {this.empId = empId;}public String getEmpName() {return empName;}public void setEmpName(String empName) {this.empName = empName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "Employee{" +"empId=" + empId +", empName='" + empName + '\'' +", age=" + age +", sex='" + sex + '\'' +", email='" + email + '\'' +'}';}
}

创建控制层组件EmployeeController

/*** 查询所有的员工信息-->/employee-->get* 根据id查询员工信息-->/employee/1-->get* 跳转到添加页面-->/to/add-->get* 添加员工信息-->/employee-->post* 修改员工信息-->/employee-->put* 删除员工信息-->/employee/1-->delete*/
@Controller
public class EmployeeController {@Autowiredprivate EmployeeService employeeService;@RequestMapping(value = "/employee",method = RequestMethod.GET)public String getAllEmployee(Model model){//查询所有的员工信息List list = employeeService.getAllEmployee();//将员工信息在请求域中共享model.addAttribute("list",list);//跳转到employee_list.htmlreturn "employee_list";}
}

创建接口EmployeeService

public interface EmployeeService {/*** 查询所有的员工信息* @return*/List getAllEmployee();
}

创建实现类EmployeeServiceImpl

@Service
@Transactional
public class EmployeeServiceImpl implements EmployeeService {@Autowiredprivate EmployeeMapper employeeMapper;@Overridepublic List getAllEmployee() {return employeeMapper.getAllEmployee();}
}

在Mapper接口中添加方法

public interface EmployeeMapper {/*** 查询所有的员工信息* @return*/List getAllEmployee();
}

 在Mapper配置文件中写我们需要操作的sql语句

②创建页面

index.html

index.html

查询所有的员工信息

employee_list.html

    
流水号员工姓名年龄性别邮箱操作
删除修改

③访问测试分页功能

controller层方法:

    @RequestMapping(value = "/employee/page/{pageNum}",method = RequestMethod.GET)public String getEmployeePage(@PathVariable("pageNum") Integer pageNum,Model model) {//获取员工的分页信息PageInfo page = employeeService.getEmployeePage(pageNum);//将分页数据共享到请求域中model.addAttribute("page",page);//跳转到employee_list.htmlreturn "employee_list";}

 service接口以及实现类

    /*** 获取员工的分页信息* @param pageNum* @return*/PageInfo getEmployeePage(Integer pageNum);
    @Overridepublic PageInfo getEmployeePage(Integer pageNum) {//开启分页功能PageHelper.startPage(pageNum,4);//查询所有的员工信息List list = employeeMapper.getAllEmployee();//获取分页相关数据PageInfo page = new PageInfo<>(list,5);return page;}

首页,index.html 

index.html

查询所有的员工信息

employee_list.html



员工列表


流水号员工姓名年龄性别邮箱操作
删除修改

相关内容

热门资讯

摩通:华尔街银行业绩强劲提振欧... 观点网讯:7月22日,华尔街大型银行第二季度业绩表现强劲,提振了市场对欧洲投资银行即将开启的财报季的...
广州拟推动房地产纾困和发展 引... 观点网讯:7月22日,“十五五”时期,广州拟切实推动房地产纾困和发展,引导房地产市场企业转型升级。 ...
AI投入成“无底洞”?谷歌资本... 隔夜美股三大指数集体收低,道琼斯工业指数下跌0.01%报52218.58点,标普500指数跌0.14...
新太空经济从“起势”迈向“成势... 当前,全球正处于新一轮科技革命和产业变革加速演进的关键节点,人工智能、合成生物学、固态电池、高端算力...
金价四连涨,水贝又挤满人 每经记者:赵景致 每经编辑:何小桃,廖丹 记者|赵景致 编辑|何小桃 廖丹杜恒峰校对|金冥羽 金价在...
专访微亿智造董事长张志琦:在“... 本报(chinatimes.net.cn)记者石飞月 上海报道 在刚刚过去的2026世界人工智能大会...
Alphabet CEO:市场... 美东时间周三(7月22日)盘后,在Alphabet财报电话会上,公司CEO Sundar Picha...
毕马威:香港基金税制改革料吸引... 观点网讯:7月22日,毕马威发布《香港资产管理及私募股权展望》报告,指出香港基金免税制度及附带权益税...
维护资本市场平稳运行,组合拳来... 重要新闻提示 7月20日,证监会召开证券公司及基金机构座谈会,听取各方关于促进资本市场平稳健康发展的...
原创 缩... 其实这个阶段,反攻继不继续,对我来说没啥意义。因为小登估值依旧高高在上,随时可能像上周五,带崩老登。...
易方达张坤,罕见调仓 图/视觉中国 昔日公募圈“一哥”,也不“爱”白酒了。 7月21日,易方达知名基金经理张坤旗下多只产品...
宽基ETF连续2日净流出 7月23日,本周二、周三,宽基ETF连续2日资金流出。 数据显示,7月22日,ETF市场净流出216...
367 款新品换不来年轻人一句... 作者|极点商业 张先森 2026年初夏,#康师傅冰红茶卖不动了#登上热搜。 网友对此的反应颇为两极...
1元净资产市场只给5毛8!银行... 继中信银行、招商银行之后,光大银行也于7月20日在投资者互动平台透露,该行已成立市值管理小组,全面统...
风险等级为何需要运作机制更关键... 在基金投资领域,风险等级是投资者评估基金产品的重要参考指标之一。然而,很多投资者往往只关注风险等级的...
刚刚!万亿“光模块一哥”正式招... (来源:上市之家) 7月22日,中际旭创股份有限公司(300308.SZ)正式刊发H股招股章程,启动...
智象未来完成15亿元C轮融资,... 智象未来(合肥)信息技术有限公司(以下简称“智象未来”)是一家全球多模态生成式人工智能创新企业,也是...
半年赚170%、规模565亿,... 来源:市场资讯 来源:资管网 半年赚170%,管理规模从89亿干到565亿。 然后他减仓了。 财通基...
Token账单背后的资本博弈 最近大家可能有一个困惑:为什么大模型概念股,看似业务高速增长、调用量节节攀升,但估值在经历了高速攀升...
Costco签约入驻 京东成为... 观点网讯:7月22日,全球知名会员制仓储零售商Costco(开市客)与京东达成合作,京东成为Cost...