发表于: 2019-10-30 15:09:29
2 927
今日想法:
1.多个表的多个接口实现,写完。
1.1.每个表都挨个测一下。
2.将多个表的多个接口,在业务层接口实现中整合遍历查询。
2.1.实现全表的模糊查询。(业务层调用多个接口,用遍历或迭代实现)
2.2.实现全表的分级查询。(业务层调用多个接口,用遍历或迭代实现)
2.3.写出自己的整个思路和流程。
3.编写控制层的接口实现。
4.测试,改错,跑通。
今日作为:
重新修改了一下,各个表的各个接口和实现类。
轮播图的接口
package com.clxs.dao;
import com.clxs.pojo.Banner;
import java.util.List;
//轮播图持久层接口
public interface BannerDao {
// 查询所有轮播图
List<Banner> SelectByAll();
}
轮播图的接口实现
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.clxs.dao.BannerDao">
<sql id="List">
id, url,img,pid
</sql>
<select id="SelectByAll" resultType="com.clxs.pojo.Banner">
select <include refid="List"/>
from banner
</select>
</mapper>
留言的接口
package com.clxs.dao;
import com.clxs.pojo.Message;
import java.util.List;
//作品留言持久层接口
public interface MessageDao {
// 根据pid来进行父子查询
List<Message> SelectByPid(Integer pid);
}
留言的接口实现
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.clxs.dao.MessageDao">
<sql id="List">
id,ip,content,pid
</sql>
<select id="SelectByPid" resultType="com.clxs.pojo.Message">
select <include refid="List"/>
from message
where pid =#{pid}
</select>
</mapper>
第一层的接口
package com.clxs.dao;
import com.clxs.pojo.Work;
import java.util.List;
//第一层分类的持久层接口
public interface WorkDao {
// 查询所有分类
List<Work> SelectByAll ();
}
第一层的接口实现
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.clxs.dao.WorkDao">
<sql id="List" >
id,name
</sql>
<select id="SelectByAll" resultType="com.clxs.pojo.Work">
select <include refid="List"/>
from work
</select>
</mapper>
第二层的接口
package com.clxs.dao;
import com.clxs.pojo.Workshop;
import java.util.List;
//第二层工作室的持久层接口
public interface WorkshopDao {
// 根据pid来进行父子查询
List<Workshop> SelectByPid(Integer pid);
}
第二层的接口实现
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.clxs.dao.WorkshopDao">
<sql id="List" >
id,name,introduction,img,pid
</sql>
<select id="SelectByPid" resultType="com.clxs.pojo.Workshop">
select <include refid="List"/>
from workshop
where pid =#{pid}
</select>
</mapper>
第三层的接口
package com.clxs.dao;
import com.clxs.pojo.Worker;
import java.util.List;
//第三层成员的持久层接口
public interface WorkerDao {
// 根据pid来进行父子查询
List<Worker> SelectByPid(Integer pid);
}
第三层的接口实现
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.clxs.dao.WorkerDao">
<sql id="List" >
id,name,introduction,img,pid
</sql>
<select id="SelectByPid" resultType="com.clxs.pojo.Worker">
select <include refid="List"/>
from worker
where pid =#{pid}
</select>
</mapper>
第四层的接口
package com.clxs.dao;
import com.clxs.pojo.Works;
import java.util.List;
//第四层作品的持久层接口
public interface WorksDao {
// 根据pid来进行父子查询
List<Works> SelectByPid(Integer pid);
}
第四层的接口实现
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.clxs.dao.WorksDao">
<sql id="List" >
id,name,introduction,img,pid
</sql>
<select id="SelectByPid" resultType="com.clxs.pojo.Works">
select <include refid="List"/>
from works
where pid =#{pid}
</select>
</mapper>
今日问题:
1.暂时还没想到留言表中,如何获取到该留言者的IP地址。
2.多表的模糊查询和分级查询,这“两个大接口”到使用for循环或者迭代器,进行层层遍历。我还在看这部分的知识,不过已经有了眉目了。
3.因为“两个大接口”会层层遍历不同的list结果集,我准备使用map来进行保存,因为map是键值对的结构,可以存放多种不同类型的不同数据。但如果使用了map,我的sql语句或者配置文件,或者哪些地方需要改动呢?
4.我的持久层接口又和mapper无法对应上了。(还在找原因)
明日想法:
1.把每个表的每个接口都进行测试。
2.解决留言表获得留言者IP的问题。
3.解决“两个大接口”里调用多个表的小接口,用循环的方式层层遍历。
4.测试,改错,跑通,贴结果。
评论