MyBatis使用注解方式实现CRUD操作

一、使用注解后就不需要写SysGroupDaoMapper.xml

只需要在Dao的抽象方法前加上相应的注解就可以。

package cn.mg39.ssm01.dao;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import cn.mg39.ssm01.entity.SysPower;

public interface SysPowerDao {
    /**
     * 在方法前加上相应的注解,在注解里面写sql语句
     * @param sysPowerDao
     * @return
     */
    
    @Insert("insert into sys_power(name,remark,descri,action_url,sys_group_id) values(#{name},#{remark},#{descri},#{actionUrl},#{sysGroupId.id})")
    public int insert(SysPowerDao sysPowerDao);
    
    @Delete("delete from sys_power where id = #{id}")
    public int delete(SysPowerDao sysPowerDao);
    
    @Update("update sys_power set name = #{name} ,remark = #{remark},descri=#{descri},action_url=#{actionUrl},sys_group_id=#{sysGroup.id} where id = #{id}")
    public int update(SysPowerDao sysPowerDao);
    
    @Select("select * from sys_power")
    public List<SysPower> selectAll();
    
    @Select("select * from sys_power where id = #{id}")
    public SysPower selectById(SysPowerDao sysPowerDao);
}

 二、在配置文件中写

    <mappers>

        <!--resource是映射文件的路径 -->
        <!-- <mapper resource="cn/mg39/ssm01/dao/SysGroupDaoMapper.xml" />
        <mapper resource="cn/mg39/ssm01/dao/SysPowerDaoMapper.xml" /> -->
        
        <!--类和包使用点  -->
        <mapper class="cn.mg39.ssm01.dao.SysGroupDao"/>
       
    </mappers>

 三、测试方法中一样不需要修改

package cn.mg39.ssm01.test;

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import cn.mg39.ssm01.entity.SysGroup;

/**
 * mybatis的增加测试
 *
 */
public class InsertSysGroup {
    public static void main(String[] args) throws IOException {
        //1、读取配置文件
        Reader reader = Resources.getResourceAsReader("myBatis-config.xml");
        
        //2、创建sqlSessionFactoryBuilder(工人)
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        
        //3、创建SqlSessionFactory(建厂,将配置文件加入工厂)
        SqlSessionFactory factory = builder.build(reader);
        
        //4、打开SqlSession(通过工厂加工需要的数据)
        SqlSession session = factory.openSession();
        
        //5、操作数据(实例化对象)
        SysGroup sysGroup = new SysGroup();
        //id是自增长,不需要插入
        //插入外键的操作
        //sysGroup.set外键名(new 外键表(数据));
        sysGroup.setName("测试数据的注解方式");
        sysGroup.setRemark("测试数据的注解方式");
        
        //最后存session
        int rows = session.insert("cn.mg39.ssm01.dao.SysGroupDao.insert", sysGroup);
        System.out.println(rows > 0 ? "插入成功":"插入失败");
        
        //6、提交事务(查询全部不需要提交事务)
        session.commit();
        
        //7、关闭sqlSession
        session.close();
    }
}

猜你喜欢

转载自www.cnblogs.com/zhangzimuzjq/p/12074200.html