由于业务关系巴拉巴拉巴拉
好吧简单来说就是
原来的业务是需要再实现类里写selectCount和selectPage两个方法才能实现分页功能
现在想要达到效果是只通过一个方法就可以实现也就是功能合并所以就有了下面的实践
既然是基于MyBatis所以就先搭建一个MyBatis的小项目
<强> 1.01导入mybatis和mysql的包强>
<强> 1.02。配置文件配置。xml中添加强>
& lt;环境默认=胺⒄埂北? & lt;环境id=胺⒄埂痹? & lt; transactionManager类型=癑DBC/比; & lt;数据源类型=盎慵北? & lt;属性名="司机" value=" https://www.yisu.com/zixun/com.mysql.jdbc.Driver "/比; & lt;属性名=" url " value=" https://www.yisu.com/zixun/jdbc: mysql://localhost: 3306/测试/比; & lt;属性名="用户名" value=" https://www.yisu.com/zixun/root "/比; & lt;属性名="密码" value="/比; & lt;/dataSource> & lt;/environment> & lt;/environments>
<强> 2.01。然后创建一个模块user 创建用户表强>
删除表如果存在“用户”; 创建表“用户”( “id”int(11)不是零AUTO_INCREMENT, “名字”char(32)非空, t1的char(32)默认为空, t2的char(32)默认为空, t3的char(32)默认为空, 主键(“id”) )引擎=InnoDB AUTO_INCREMENT=10默认字符集=utf8;
<强> 3.01。写对应bean: User.java 强>
包lqb.bean; 公开课用户扩展常见{ 私人字符串id; 私人字符串名称; 私人字符串t1; 私人字符串t2; 私人字符串t3;//省略得到设置 } >之前<强> 3.02。对应的映射器:UserMapper.java和UserMapper.xml 强>
简单实现下CRUD
公共接口usermap { 公共用户selectByID (int id); 公共Listselect (); 公共int插入u(用户); 公共int更新(用户u); 公共int删除用户(u); } & lt;映射器命名空间=發qb.mapper.UserMapper”比; & lt;选择id=" selectByID " parameterType=癷nt”resultType=發qb.bean.User”比; 从“用户”,选择* id=# {id} & lt;/select> & lt;选择id="选择" resultType=" lqb.bean。用户“parameterType=" lqb.bean.User "比; 从“用户”选择* & lt;/select> & lt;插入id="插入" parameterType=發qb.bean.User”比; 插入用户(id、名称、t1、t2、t3)值(# {id}, # {name}, # {t1}, {t2} #, # {t3}) & lt;/insert> & lt;更新id="更新" parameterType=發qb.bean.User”比; 更新用户组名称=#{名称},t1=# {t1}, t2=# {t2}, t3=# {t3}, id=# {id} & lt;/update> & lt;删除id="删除" parameterType=發qb.bean.User”比; 删除从用户id=# {id} & lt;/delete> & lt;/mapper><强> 3.03。然后在配置文件Configuration.xml中添加用户的配置强>
& lt; mappers> & lt;资源映射器=" lqb/映射器/UserMapper.xml”/比; & lt;/mappers><强> 3.04。然后是实现:UserService.java 强>
公开课UserService { 私有静态SqlSessionFactory SqlSessionFactory; 私有静态读者读者; 静态{ 尝试{ 读者=Resources.getResourceAsReader (“Configuration.xml”); sqlSessionFactory=new SqlSessionFactoryBuilder () .build(读者); }捕捉(异常e) { e.printStackTrace (); } } 公共静态SqlSessionFactory getSession () { 返回sqlSessionFactory; } } >之前<强> 4.01好然后是重点了强>
思路:截获查询的sql然后拼成sqlPage和sqlCount再进行查找取值然后赋传入对象
所以我们就需要创建一个基础类来让user.java来继承
公共类常见{ 私人int页大小; 私人int pageid; 私人int pagebegin; 私人int数;//省略得到设置 }<强> 4.02然后让用户继承常见强>
公开课用户扩展常见{MyBatis拦截器实现分页功能实例