ssm整合

第一步:准备依赖
1、Spring-core beans expression context aop tx jdbc web webmvc
2、Druid MySQL-connector-java mybatis mybatis-spring
3、 Log4j slf4j-api slf4j-log4j12
4、Jstl servlet-api Lombok aspectjweaver

第二步:项目准备
1、数据库准备,准备好测试要用的表及数据

2、架构设计

3、bean中的类(属性与数据库中的表对应)

User
  条件查询时封装的条件类

条件查询时封装的条件类QueryBean
4、mapper接口,以及对应方法的xml文件

UserMapper接口
UserMapper.xml
5、service接口,以及实现类(使用mapper对象)

传统的方式是

1:获取Factory对象,new SqlSessionFactoryBuilder().build(输入流);

2:获取SqlSession对象,Factory.openSession()

3:获取mapper对象,SqlSession.getMapper()

整合后的方式为

1.配置MapperFactoryBean(一次只能创建一个) mapperScannerConfigurer(批量创建,从配置的包中扫描所有赛接口,并且创建代理对象)

2.两个属性,一个是要创建的接口,一个是sqlsessionfactory

3.配置sqlsessionfactory,几个主要属性

数据源dataSource
    配置别名typeAliasesPackage
    关联mapper映射文件mapperLocations
    关联mybatis的主配置文件configLocation

applicationContext.xml
IUserService
UserServiceImpl
6、这时可先测试一下代码,使用测试类App测试增删改查

App
第三步:添加事务控制
1、添加依赖 aspectj

2、配置事务管理器,本质上是一个

3、配置事务(两种方式)

1.xml方式

复制代码
aop:config
<aop:pointcut id=“pointcut” expression=“execution( * com.test.ssm.service….(…))”/>
<aop:advisor advice-ref=“txAdvice” pointcut-ref=“pointcut”/>
</aop:config>
<tx:advice id=“txAdvice” transaction-manager=“txManager”>
tx:attributes
<tx:method name=“find*” read-only=“true”/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
复制代码
  2.使用注解的方式

配置事务管理器,需要配置事务管理器注解驱动@Transactional即可

<tx:annotation-driven transaction-manager="txManager"/>

第四步:配置前端页面
1、导入依赖servlet-api

2、在web.xml中配置前端控制器(本质上是一个servlet)

客户端访问时会先通过前端控制器,再通过拦截器

复制代码

dispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springMVC.xml 2 dispatcherServlet *.do 复制代码   注意:配置中的文件关联有没有将配置信息引入,可以在springMVC中使用import标签进行引入

复制代码

<?xml version="1.0" encoding="UTF-8"?>

<!--引入后台的Spring配置文件-->
<import resource="classpath:applicationContext.xml"/>
复制代码 3、在web.xml中配置编码过滤器,解决中文乱码问题

复制代码

characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true characterEncodingFilter /* 复制代码 4、在springMVC中配置拦截器,拦截想要跳过登录界面访问受保护资源的请求

复制代码

mvc:interceptors


mvc:interceptor
<mvc:mapping path="/**"/>

<mvc:exclude-mapping path="/login.do"/>


</mvc:interceptor>
</mvc:interceptors>
复制代码
  拦截器

MyInterceptor
第五步:编写Controller和访问页面
  在web.xml中添加如下代码,可以默认访问此页面

index.html   Controller代码示例

UserController
  页面代码

index.html
  下面两个页面在WEB-INF下的views里,是受保护页面,list中现在还没有分页功能,将page.list替换为list即可,分页功能在下篇博客中详细说明。

edit.jsp
list.jsp
第六步:加入多条件查询
可以将条件封装到一个类中的属性上

条件查询时封装的条件类QueryBean
sql查询语句select * from users where name like concat(’%’,#{},’%’),concat的作用是合并字符串

多条件查询xml中的配置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值