真·奥义 ssm整合BaseDao
前言
本来我一直使用的是逆向工程生成的Mybatis和pojo,但是前几天和一位大佬合作,大佬说他用惯了BaseDao,没办法,我只好学习BaseDao,在网上看了很多同学的BaseDao,坑爹啊!只给你贴出主要代码,不给你导包的代码,看上去能复制,其实复制进去就一大堆红线,有的还凭空冒出个工具类…不说了,都是泪啊!下面是我的ssm整合的BaseDao.
首先是BaseDao
package com.longzhuo.sk.mapper;
import java.util.HashMap;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface BaseDao<T> {
List<HashMap<Object, Object>> queryOne( @Param("name") String name,@Param("id")long id,@Param("Mokokey")String Mokokey );
List<HashMap<Object, Object>> queryAll( @Param("name") String name );
List<HashMap<Object, Object>> findByExample( @Param("name") String name, @Param("params")Object []params);
int add( @Param("name")String name ,@Param("params") Object params );
void update ( @Param("id") long id, @Param("name") String name, @Param("params")Object []params,@Param("Mokokey")String Mokokey );
void delete(@Param("name")String lowerCase, @Param("id")long id,@Param("Mokokey")String Mokokey);
}
然后是BaseDao.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.longzhuo.sk.mapper.BaseDao" >
<!-- 按id查找一个 -->
<select id="queryOne" resultType="hashmap">
select * from ${
name} where ${
Mokokey}=#{
id}
</select>
<!-- 查询所有 -->
<select id="queryAll" resultType="hashmap">
select * from ${
name}
</select>
<!-- 添加 -->
<insert id="add" >
insert into ${
name} values
<foreach collection="params" item="param" open="(" separator="," close=")" >
#{
param}
</foreach>
</insert>
<!-- 修改 -->
<update id="update">
update ${
name}
<set>
<foreach collection="params" item="param">
${
param},
</foreach>
</set>
where ${
Mokokey}=#{
id}
</update>
<!-- 条件查询 -->
<select id="findByExample" resultType="hashmap">
select * from ${
name}
<where>
<foreach collection="params" item="param" open="(" separator="and" close=")">
${
param}
</foreach>
</where>
</select>
<!-- 删除 -->
<delete id="delete">
delete from ${
name} where ${
Mokokey} = #{
id}
</delete>
</mapper>
BaseService
package com.longzhuo.sk.Service;
import java.util.