zoukankan      html  css  js  c++  java
  • Mybatis笔记1

    Mybatis

    持久层框架,数据访问层

    mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动,创建连接,创建statement等繁杂的过程,使用ORM思想实现了结果集的封装

    ORM:Object Relational Mappaging对象关系映射,就是把数据库表和实体类及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表

    环境搭建注意事项:

    mybatis的映射配置文件位置必须和dao接口的包结构相同

    img

    映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名

    img

    映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名img

    img

    好处:在开发中无需在写dao的实现类,写完接口我们的操作就结束了。剩下的功能将有mybatis为我们实现

    mybatis的入门案列(不写dao的实现类)

     //1.读取配置文件,目的:把配置文件,数据库的信息读取进来
    //2.创建SqlSessionFactory工厂
    //3.使用工厂生产SqlSession对象
    //4.使用SqlSession创建Dao接口的代理对象
    //5.使用代理对象执行方法
    //6.释放资源
    
    public class MybatisTest {
        public static void main(String[] args) throws IOException {
            //1.读取配置文件,目的:把配置文件,数据库的信息读取进来
            InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
            //2.创建SqlSessionFactory工厂
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            SqlSessionFactory factory = builder.build(in);
            //3.使用工厂生产SqlSession对象
            SqlSession session = factory.openSession();
            //4.使用SqlSession创建Dao接口的代理对象
            IUserDao userDao = session.getMapper(IUserDao.class);
            //5.使用代理对象执行方法
            List<User> users = userDao.findAll();
            for(User user:users){
                System.out.println(user);
            }
            //6.释放资源
            session.close();
            in.close();
        }
    }
    
    

    运行报错:log4j:ERROR setFile(null,true) call failed.FileNotFoundException (设备未就绪。)

    修改一下log4j文件的路径就好了

    使用注解方式配置

    public interface IUserDao {
        @Select("select * from user")
        List<User> findAll();
    }
    

    2.使用class属性指定被注解的dao全限定类名

    <mappers>
            <mapper class="com.itheima.dao.IUserDao"/>
        </mappers>
    
  • 相关阅读:
    poj1860 Currency Exchange
    poj1062 昂贵的聘礼
    CF811C Vladik and Memorable Trip
    vs2012 jsoncpp 链接错误
    poj1923 Fourier's Lines
    excel中的表格转换成word中表格
    C:Program FilesMSBuildMicrosoft.Cppv4.0V110Microsoft.CppCommon.targets(249,5): error MSB6006: “CL.exe”已退出,代码为 -1073741515。
    poj1129 Channel Allocation
    POJ 2771 Guardian of Decency(求最大点独立集)
    POJ 1724 Roads
  • 原文地址:https://www.cnblogs.com/train99999/p/11182618.html
Copyright © 2011-2022 走看看