MyBatis--DAO(一)

 

一、springside中mybatis的例子已经很详细了(Spring-mybatis

http://www.tuicool.com/articles/QBVVFr

 

<!-- mybatis config -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!-- 自动扫描dto目录, 省掉Configuration.xml里的手工配置 -->
        <property name="typeAliasesPackage" value="k.dto" />
        <!-- 显式指定Mapper文件位置 -->
        <property name="mapperLocations" value="classpath:/k/dao/**/*Mapper.xml" />
    </bean>
    <!-- 扫描basePackage下所有以@MyBatisRepository标识的 接口-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="k.dao" />
        <property name="annotationClass" value="k.dao.base.MyBatisRepository"/>
    </bean>

 

/**
 * 标识MyBatis的DAO,方便{@link org.mybatis.spring.mapper.MapperScannerConfigurer}的扫描
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyBatisRepository {}

 

@Component
@MyBatisRepository
public interface MybatisDemoMapper {
 
    List<MybatisDemoDTO> find(Map<String,Object> param);
     
    MybatisDemoDTO findById(int id);
     
    int insert(MybatisDemoDTO dto);
     
    void update(MybatisDemoDTO dto);
     
    @Delete("delete from test where id = #{id}")
    void delete(int id);
}

 

<?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="k.dao.demo.MybatisDemoMapper">
    <cache />
    <sql id="testTableCols"> id,col </sql>
    <insert id="insert" parameterType="MybatisDemoDTO" useGeneratedKeys="true" keyProperty="id">
        insert into test (<include refid="testTableCols"/>) values(
            0,#{col}
        )
    </insert>
     
    <update id="update" parameterType="MybatisDemoDTO">
        update test set col = #{col} where id = #{id}
    </update>
     
    <!-- 已在接口中使用注解定义了
    <delete id="delete" parameterType="int">
        delete from test where id = #{id}
    </delete>
     -->
    <select id="findById" parameterType="int" resultType="MybatisDemoDTO">
        select <include refid="testTableCols"/> from test where id = #{id}
    </select>
     
    <select id="find" parameterType="map" resultType="MybatisDemoDTO">
        select <include refid="testTableCols"/> from test
        <where>
            <if test="col != null">
                col like #{col}
            </if>
        </where>
    </select>
</mapper>

 二、Mybatis 使用Dao代码方式进行增、删、改、查

 

http://www.cnblogs.com/maocs/p/5047860.html

 

三、DAO继承了SqlSessionDaoSupport(mybatis-spring包)的方式

http://blog.youkuaiyun.com/sskicgah/article/details/12575939

 

四、Mybatis数据访问层DAO层BaseDao实现类模板

http://blog.sina.com.cn/s/blog_d00b69580102w9f3.html

 

五、Mybatis 泛型DAO接口的设计

http://www.360doc.com/content/12/0429/04/1542811_207413269.shtml 

 

 

使用mybatis自动创建dao、mapping

http://wenku.baidu.com/link?url=FEM6CZFkB_76efmGstdlvKRfck0D4p_4IzXyDqYTOEtCHt3HOgiQE0EjolQdWCWR8boVeuoTmuf2wqWxnoueDbUqut88oW62kdHZkHeANC3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mybatis-Plus 是 Mybatis 的增强工具,在 Mybatis 的基础上,提供了更加便捷的操作方式和更加强大的功能。使用 Mybatis-Plus 替换 DAO 层可以极大地提高开发效率和代码质量。 以下是使用 Mybatis-Plus 替换 DAO 层的步骤: 1. 添加依赖 在 pom.xml 文件中添加 Mybatis-Plus 的依赖: ```xml <!-- Mybatis-Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency> ``` 2. 配置 Mybatis-Plus 在 application.yml 文件中配置 Mybatis-Plus: ```yaml mybatis-plus: # mapper 文件位置 mapper-locations: classpath:/mapper/**/*.xml # 实体类扫描路径 typeAliasesPackage: com.example.entity ``` 3. 创建实体类 使用 Mybatis-Plus 需要创建实体类,并且实体类需要继承 BaseMapper 接口。例如: ```java public interface UserMapper extends BaseMapper<User> { } ``` 4. 使用 Mybatis-Plus 进行 CRUD 操作 使用 Mybatis-Plus 进行 CRUD 操作非常简单,只需要在 Service 层中调用相应的方法即可。例如: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User getUserById(Long id) { return userMapper.selectById(id); } @Override public List<User> getUserList() { return userMapper.selectList(null); } @Override public int addUser(User user) { return userMapper.insert(user); } @Override public int updateUser(User user) { return userMapper.updateById(user); } @Override public int deleteUser(Long id) { return userMapper.deleteById(id); } } ``` 以上就是使用 Mybatis-Plus 替换 DAO 层的步骤,使用 Mybatis-Plus 可以极大地简化 DAO 层的开发,提高代码质量和开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值