如何在MyBatis中实现BaseDao接口

   2024-09-30 8700
核心提示:在 MyBatis 中实现 BaseDao 接口,可以遵循以下步骤:创建一个通用的 BaseDao 接口,定义一些基本的 CRUD 操作。public interfac

在 MyBatis 中实现 BaseDao 接口,可以遵循以下步骤:

创建一个通用的 BaseDao 接口,定义一些基本的 CRUD 操作。
public interface BaseDao<T> {    int insert(T entity);    int update(T entity);    int delete(int id);    T findById(int id);    List<T> findAll();}
创建一个通用的 Mapper XML 文件,实现 BaseDao 接口中的方法。
<!-- BaseMapper.xml --><mapper namespace="com.example.dao.BaseDao">   <insert id="insert" parameterType="T">        INSERT INTO ${tableName} (...)        VALUES (...)    </insert>   <update id="update" parameterType="T">        UPDATE ${tableName}        SET ...        WHERE id = #{id}    </update>   <delete id="delete">        DELETE FROM ${tableName}        WHERE id = #{id}    </delete>   <select id="findById" resultType="T">        SELECT * FROM ${tableName}        WHERE id = #{id}    </select>   <select id="findAll" resultType="T">        SELECT * FROM ${tableName}    </select></mapper>
为每个实体类创建一个 Dao 接口,继承 BaseDao 接口。
public interface UserDao extends BaseDao<User> {}
为每个实体类创建一个 Mapper XML 文件,指定对应的表名和命名空间。
<!-- UserMapper.xml --><mapper namespace="com.example.dao.UserDao">   <property name="tableName" value="user"/>    <!-- 引入 BaseMapper.xml 中的 SQL 语句 -->   <include resource="BaseMapper.xml"/></mapper>
在 MyBatis 配置文件中注册这些 Mapper。
<!-- mybatis-config.xml --><configuration>    <mappers>        <mapper resource="com/example/dao/UserMapper.xml"/>        <!-- 其他实体类的 Mapper 文件 -->    </mappers></configuration>
在 Service 层或其他需要使用 Dao 的地方,通过依赖注入的方式获取 Dao 实例。
@Servicepublic class UserService {    @Autowired    private UserDao userDao;    public void createUser(User user) {        userDao.insert(user);    }    // 其他业务逻辑}

这样,你就可以在 MyBatis 中实现一个通用的 BaseDao 接口,并为每个实体类提供相应的 Dao 实现。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号