• mybatis --- 以接口的方式进行编程


    前面一章 ,搭建好了mybatis,mysql的环境,并且实现了一个简单的查询。请注意,这种方式是用SqlSession实例来直接执行已映射的SQL语句: Book book=session.selectOne("com.mybatis.model.BookMapper.selectBookById"2);  我们来学习下接口方式的编程.

    接口类IBookDao.java

    package com.mybatis.dao;
    
    import com.mybatis.model.Book;
    
    public interface IBookDao {
    	//这里的selectBookById必须和book.xml 配置的select id 对应
    	 public Book selectBookById(int id);
    }
    

    book.xml

    <?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">
        
        
    <!--这块等于Dao接口的实现 namespace必须和接口的类路径一样-->
    <mapper namespace="com.mybatis.dao.IBookDao">
      <!-- queryEmpById必须和接口中的方法名一样, 返回一个Emp 就是刚才的别名 ,如果不用别名要连路径一起写,麻烦-->
         <select id="selectBookById"  parameterType="int" resultType="Book">
              select * from books where id=#{id}
         </select>
    </mapper>
    

    mybatis的总配置文件没有什么变化.

    接下来,稍微修改下Test.java.

    package com.mybatis.test;
    
    import java.io.IOException;
    
    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 com.mybatis.dao.IBookDao;
    import com.mybatis.model.Book;
    
    public class Test {
    
    	/***
    	 * 获得MyBatis SqlSessionFactory
    	 * SqlSessionFactory 负责创建SqlSession ,一旦创建成功,就可以用SqlSession实例来执行映射语句
    	 * ,commit,rollback,close等方法
    	 * @return
    	 */
    	private static SqlSessionFactory getSessionFactory(){
    		SqlSessionFactory sessionFactory=null;
    		String resource="configuration.xml";
    		 try {
    			sessionFactory=new SqlSessionFactoryBuilder().build(Resources.getResourceAsReader(resource));
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return sessionFactory;
    	}
    	
    	/**
    	 * main 方法
    	 * @param args
    	 */
    	public static void main(String[] args) {
              SqlSession session=getSessionFactory().openSession();
              //获得IBookDao 接口实例
              IBookDao bookDao=(IBookDao) session.getMapper(IBookDao.class);
              Book book=bookDao.selectBookById(1);
              System.out.println(book.getAuthor());
    	}
    }
    




  • 相关阅读:
    TCP/IP详解V2(六)之TCP协议
    TCP/IP详解V2(四)之TCP协议
    TCP/IP详解V2(三)之TCP协议
    epoll源码剖析
    UDT源码剖析(二)之启动与结束
    TCP/IP详解V2(二)之UDP协议
    TCP/IP详解V2(一)之协议控制块
    UDT源码剖析(一)之总览
    SPI通信协议(SPI总线)学习
    第12章Cortex-M4-SPI-Bus
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300377.html
Copyright © 2020-2023  润新知