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();
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM