Continued from last time, I heard that I was addicted to the strange movement of MyBatis again. That said, basically, I'm a little sloppy, and the one who made a mistake is a bad deal. I don't think MyBatis is bad (no, I think it's bad) Surprisingly, I can't find any mistakes myself and spend wasted time. I think it's rare, so I'll leave it so that if someone has a similar problem someday, I can solve it immediately.
The version of MyBatis is 3.2.
For some reason, the data held by Java's ʻIntegerdid not enter the DB's
NUMERIC` column.
(I didn't get the error that was actually spit out, so I'll paste it later!)
Certainly
** If you want to put String
data in a NUMERIC
column, explicitly CAST! ** **
I think it was an error content like that.
e? Why String
? I have ʻInteger` ...? It is the content.
ItemService.java
//Various omissions
...
...
...
List<Integer> itemMasterIds = itemMasterMapper.getIdsByCategoryName("tapioca");
//↓ ↓ An error occurs here ↓ ↓
userItemsMapper.add(user.getId(), itemMasterIds);
ItemMasterMapper.java
List<Integer> getIdsByCategoryName(@Param("categoryName") String categoryName);
ItemMasterMapper.xml
<select id="getIdsByCategoryName" resultType="string">
SELECT item_master_id FROM item_master WHERE category = #{categoryName}
</select>
UserItemsMapper.java
void add(@Param("userId") long userId, @Param("itemMasterIds") List<Integer> itemMasterIds);
UserItemsMapper.xml
<insert id="add">
INSERT INTO user_items (user_id, item_master_id)
VALUES
<foreach collection="itemMasterIds" item="item" separator=",">
(#{userId}, #{item})
</foreach>
</insert>
Perhaps most people will find out instantly just by looking at the above code.
ʻIn ItemMasterMapper.xml, set
resultTypeof
getIdsByItemCategory, You wrote
string`.
<select id="getIdsByItemCategory" resultType="string">
Normally, the return type defined in the Mapper interface and
If the resultType
defined in Mapper XML does not match,
I think I'll get an error at that point, but for some reason ʻitem_master.item_master_id You can get it with
List of
String`, isn't it?
I can't find an error like this right away, or it's already the limit.