集成_3_示例

项目结构

集成_3_示例_第1张图片
Paste_Image.png

建立表格,实体类

model包下创建Book.java

dao层:定义的方法名和xml映射文件中的id一致,mybatis会自动对应上

@Mapper注解

package tutorial.springboot.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tutorial.springboot.model.Book;
@Mapper
public interface BookDao {
    void save(Book book);
    void delete(Integer id);
    void modify(Book book);
    Book queryById(@Param(value="id")Integer id);
    List query();
    //批量插入
    void saveBatch(List bookList);
}

映射文件

  
  
  
    
    
        
        
        
        
    
    
      
        insert into book
        
            id,name,price,produce_time,
        
        
            #{id,jdbcType=INTEGER},
            #{name,jdbcType=VARCHAR},
            #{price,jdbcType=FLOAT},
            #{produceTime,jdbcType=VARCHAR}, 
        
      
      
      
          
            SELECT  
            LAST_INSERT_ID()  
        
        insert into book
        
            id,name,price,produce_time,
        
        
            
                (#{item.id, jdbcType=INTEGER}, 
                 #{item.name, jdbcType=VARCHAR},
                 #{item.price, jdbcType=FLOAT},
                 #{item.produceTime, jdbcType=VARCHAR})
            
        
     
     
      
         
      
      
       
      
     
    
    
        update book  
        
            
                name = #{name,jdbcType=VARCHAR},
          
        
        where id = #{id,jdbcType=INTEGER}
    
 

Service层

@Service
public class BookService{
    @Resource
    private BookDao bookDao;
    
    public void save(Book book) {
         bookDao.save(book);
    }
    
    public void saveBatch(List bookList){
        bookDao.saveBatch(bookList);
    }
    
    public void delete(Integer id){
         bookDao.delete(id);
    }
    
    public void modify(Book book){
         bookDao.modify(book);
    }
    
    public Book queryById(Integer id){
        return bookDao.queryById(id);
    }
    
    public List query(){
        return bookDao.query();
    }
}

测试

//SpringJUnit支持,由此引入Spring-Test框架支持
@RunWith(SpringJUnit4ClassRunner.class)
//指定我们SpringBoot工程的Application启动类
@SpringApplicationConfiguration(classes = App.class)
public class BookXMLTest {

    @Resource
    private BookService bookService;
    
    //新增
    @Test
    public void saveBook(){
        Book book = new Book();
        book.setName("hibernate");
        book.setPrice(102.1f);
        book.setProduceTime(new Date());
        bookService.save(book);
    }
    
    @Test
    public void saveBatchBook(){
        Book book1 = new Book();
        book1.setName("hibernate6");
        book1.setPrice(102.1f);
        book1.setProduceTime(new Date());
        
        Book book2 = new Book();
        book2.setName("hibernate7");
        book2.setPrice(102.1f);
        book2.setProduceTime(new Date());
        
        List bookList = new ArrayList();
        bookList.add(book1);
        bookList.add(book2);
        bookService.saveBatch(bookList);
    }
    
    //删除
    @Test
    public void deleteBook(){
        bookService.delete(10);
    }
    
    //更新
    @Test
    public void modifyBook(){
        Book book = bookService.queryById(3);
        System.out.println("book==="+book);
        book.setName("test");
        bookService.modify(book);
    }
    
    //查询
    @Test
    public void queryBook(){
        List bookList = bookService.query();
        System.out.println(bookList);
    }
}

你可能感兴趣的:(集成_3_示例)