直接上干貨:
報錯歸納1:
DEBUG [main] - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
原因:xml里面不能有java方不存在的類,它是會去找的,找不到就報錯,所以,萬一刪掉java類了,xml里面的相對應映射的字段也要注釋掉。遇到兩次了!浪費不少時間!
2.MyBatis 他要加空構造 實例化對象
原因:MyBitis ,他實體類pojo class里 要加空構造
3.寫法
class 是點,路徑是斜杠
4.
xml 控制多級級聯查數據庫,是可以的,(MyBatis xml作為實現 數據庫查詢),我這里四級連着查詢
<?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.XXXX.dao.ShopDao"> <!--private int sid; private String sname; private List<Book> blist;--> <resultMap id="resultMap_shop" type="shop"> <id property="sid" column="sid"></id> <result property="sname" column="sname" ></result> <collection property="blist" ofType="book"> <id property="bid" column="bid"></id> <result property="bname" column="bname"></result> <association property="user" javaType="user"> <id property="uid" column="uid"></id> <result property="uname" column="uname"></result> <result property="password" column="password"></result> <association property="p" javaType="person" > <id property="pid" column="pid"></id> <result property="pname" column="pname"></result> <result property="sex" column="sex"></result> <result property="birthday" column="birthday"></result> </association> </association> </collection> <!-- <association property="blist" javaType=""--> </resultMap> <!-- List<Shop> getAll(int sid);--> <select id="getAll" parameterType="int" resultMap="resultMap_shop"> select from t_shop s,t_book b,t_user u,t_person p where u.user_person_fk=p.pid and b.book_user_fk=u.uid and s.sid=#{sid} </select> </mapper>
5.
Cause: java.lang.NoSuchMethodException: com.offcn.dao.ShopDao.<init>(),其實是缺少構造,但構造沒問題,之后發現是這個寫錯