是时候系统的整理整理零碎了。。。
使用mybatis框架。创建SqlMapConfig.xml。
创建一个applicationContext-dao.xml
1、配置数据源
2、需要让spring容器管理SqlsessionFactory,单例存在。
3、把mapper的代理对象放到spring容器中。使用扫描包的方式加载mapper的代理对象。
整合内容 | 对应工程 |
---|---|
Pojo | Taotao-mangaer-pojo |
Mapper映射文件 | Taotao-mangaer-mapper |
Mapper接口 | Taotao-mangaer-mapper |
sqlmapConfig.xml | Taotao-manager-web |
applicationContext-dao.xml | Taotao-manager-web |
1、事务管理
2、需要把service实现类对象放到spring容器中管理。这里扫描@Service
整合内容 | 对应工程 |
---|---|
Service接口及实现类 | Taotao-mangaer-service |
applicationContext-service.xml | Taotao-manager-web |
applicationContext-trans.xml | Taotao-manager-web |
1、配置注解驱动
2、配置视图解析器
3、需要扫描controller
4、由于前端控制器会将所有的(包括.css,.js)都进入springmvc,所以我们还需要在springmvc.xml配置资源映射
1、spring容器的配置
2、Springmvc前端控制器的配置
3、Post乱码过滤器
这里很多人都会有疑问,为什么@service扫描用application.xml配置,@controller扫描用springmvc.xml配置,两个为什么非得分开,我们直接扫描一个父包不就好了吗?这里我们需要引入这两个的父子容器关系来解释说明。
如果我们在Spring容器中配置了全局扫描,那么Controller对象就在Spring里面了,即springmvc中没有对象了,当他的处理器映射器工作时找不到注解,报404错误。
如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。
官方网站:https://github.com/pagehelper/Mybatis-PageHelper/tree/master/src/main/java/com/github/pagehelper
第一步:引入pageHelper的jar包。
第二步:需要在SqlMapConfig.xml中配置插件。
<configuration>
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql"/>
plugin>
plugins>
configuration>
第三步:在查询的sql语句执行之前,添加一行代码:PageHelper.startPage(1, 10);
第一个参数是page,要显示第几页。第二个参数是rows,没页显示的记录数。
第四步:取查询结果的总数量。
创建一个PageInfo类的对象,从对象中取分页信息。
1、请求的参数:http://localhost:8080/item/list?page=1&rows=30 分页信息。(需要看官方的手册)
2、返回值。Json数据。数据格式:
Easyui中datagrid控件要求的数据格式为:
{total:”2”,rows:[{“id”:”1”,”name”,”张三”},{“id”:”2”,”name”,”李四”}]}
所以我们想返回的话需要建一个pojo,pojo应该放到taotao-common工程中(可能都需要使用)。
private long total;
private List<?> rows;//?代表任意类型
这样加上@ResponseBody就能返回我们想要的json–EasyUIDateGrid支持的数据格式
篇幅太少,不符合的风度,毕竟前两篇全是水文,索性加上代码看起来不那么水(代码仅供参考)
SqlMapConfig.xml
<configuration>
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql"/>
plugin>
plugins>
configuration>
applicationContext-dao.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
<