ssm整合步骤(无maven)
ssm整合步骤(无maven)
1.创建项目
-
[1]创建Java Enterprise(企业级)
-
[2]创建lib并导入相关jar包
①spring相关jar:

②mybatis 和 mybatis与spring整合相关jar:

③数据库连接 和 德鲁伊连接池相关jar:


④junit测试相关jar:

⑤文件上传相关jar:

⑥json相关jar:

⑦jstl相关jar:

⑧页码相关jar:

⑨......
-
[3]创建相关文件/包/类
-
创建相关文件
1.1.resources [mark:Resources Root]
1.1.1.mybatis-config.xml
1.1.2.spring.xml
1.1.2.1.配置数据源(德鲁伊连接池druid)
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" /> <!-- &在xml文件中不能直接使用,需使用& --> <property name="url" value="jdbc:mysql://localhost:3306/qa?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai" /> <property name="username" value="root"/> <property name="password" value="wanmait"/> <property name="initialSize" value="3"/> <property name="minIdle" value="3"/> <property name="maxActive" value="10"/> <property name="maxWait" value="5000"/> <property name="filters" value="mergeStat"/> </bean> 1.1.2.2.配置SqlSessionFactory
(org.mybatis.spring.SqlSessionFactoryBean来自mybatis-spring-2.0.4.jar)
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--指定数据库连接,调用dataSource--> <property name="dataSource" ref="dataSource"/> <!--指定配置文件--> <property name="configLocation" value="classpath:mybatis-config.xml"/> <!--指定映射文件位置,注册映射文件--> <property name="mapperLocations" value="classpath:mapping/*.xml"/> </bean> 1.1.2.3.配置mapper接口的自动扫描
<mybatis-spring:scan base-package="com.wanmait.demo.mapper"/> 1.1.2.4.配置业务逻辑层(service)扫描
<context:component-scan base-package="com.wanmait.demo.service"/> 1.1.2.4.配置事物管理器
作用:当同时完成一个或多个数据操作,当有一个出现错误,其他都正确,但造成某些管理数据也出现错误。如:当添加一条信息时,数据库一个表添加成功,但需要给另一个表的添加信息数量+1,当+1失败,则数据出现问题
<!--事务管理器,添加到service/impl中的实现类中--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!--获取数据源--> <property name="dataSource" ref="dataSource"/> </bean> <!--事务的注解驱动--> <tx:annotation-driven transaction-manager="transactionManager"/>
1.1.3.springMVC.xml
1.1.4.mapping
1.1.4.*.src/mapper/*中所有接口对应的*.xml文件(快捷方式:1.Database连接MySQL并借助Mybatis datasource插件生成)
作用:通过实现com.lycl.ssmdemo.mapper.*Mapper.java接口中的方法,进行相应的数据库操作。
1.2.src[mark:Sources Root]
com.lycl.ssmdemo
1.2.1.controller
例:QuestionController
作用:与客户端进行信息交互,与业务逻辑层进行数据交互
@Controller @RequestMapping("/manage/questionType") public class QuestionTypeController { @Resource private QuestionTypeService questionTypeService; @RequestMapping("list") @ModelAttribute("questionTypes") public List<QuestionType> list() { return questionTypeService.findAll(); } }
1.2.2.mapper(快捷方式:1.Database连接MySQL并借助Mybatis datasource插件生成)
例:QuestionMapper
作用:生成*Mapper接口(标准),用于/resources/*Mapper.xml中,实现对应的select/update/insert/delete等对应的方法。
1.2.3.pojo(快捷方式:1.Database连接MySQL并借助Mybatis datasource插件生成)
1.2.4.service
impl:存放对应接口的实现类
例:QuestionServiceImpl (已在spring.xml配置业务逻辑层扫描包,需添加@Service注解,才能让spring进行管理)
@Service @Transactional(rollbackFor = Exception.class)//事务处理,加在类上对所有的方法都起作用,也可以加在方法上 public class QuestionServiceImpl implements QuestionService { //注入接口依赖 @Resource private QuestionMapper questionMapper; @Override public void insert(Question object) { questionMapper.insert(object); //修改类型的问题数量 questionTypeMapper.increaseQuestionCount(object.getQuestionTypeId()); } } 接口:
CommonService:公共泛型接口
例:QuestionService 继承CommonService,可添加相应的其他接口方法,实现类放到impl中
1.3.test [mark:Test Sources Root]
com.lycl.ssmdemo.service
QuestionServiceTest(测试QuestionService中接口实现数据库操作结果)
@RunWith(SpringJUnit4ClassRunner.class)//spring-test.jar @ContextConfiguration("classpath:spring.xml") public class QuestionServiceTest { @Resource private QuestionService questionService; @Test public void testInsert() { Question question = new Question(); question.setTitle("2020你过的怎么样?"); question.setQuestionTypeId(1); question.setUserinfoId(1); question.setInfo("一起加油!"); questionService.insert(question); System.out.println(question.getId()); } }1.4.web
WEB-INF
lib(jar包)
web.xml
-
快捷方式:
1.Database连接MySQL并借助Mybatis datasource插件生成

{未完待续...}

浙公网安备 33010602011771号