• 初识Mybatis框架


    mybatis框架  主要是对数据库进行操作的 编写sql语句 使我们对数据库的crud操作更加简洁方便!!

    1.使用mybatis框架 进行第一个项目 查询数据库 并返回数据 :(简单)

            (1)搭建 mybatis框架环境: 所使用的jar包

                      

             (2) 编写实体类 要与数据库中的字段对应  (我的实体类名称叫  Teacher);

                  

     1 package com.hxzy.mybatis.pojo;
     2 
     3 import lombok.Data;
     4   //这里使用了lombok插件 免去了set get 方法
     5 @Data
     6 public class Teacher {
     7     private Integer t_id;
     8     private  String t_name;
     9     private  String t_address;
    10 }

          

                (3).编写 sqlMapper的xml文件  (teacherMapper.xml

      

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE mapper
     3         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     4         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
     5 <!--配置teacher的xml文件-->
     6 
     7 <!--
     8         namespace:指定该文件的的唯一标识 路径为实体类对应的全路径 名字是可以随意起名的 但最好规范
     9         resultType:指定返回结果的类型 如果是对象的话 需要写全类名
    10         parameterType :指定参数的类型
    11         如果有参数的话  比如 select * from student where s_id = #{id}
    12         jdbc 用的是 ?号占位符 而mybatis 用的是#{里面写参数}
    13     -->
    14 <mapper namespace="Teacher">
    15     <select id="one_query" resultType="com.hxzy.mybatis.pojo.Teacher" parameterType="int">
    16           select  * from  teacher
    17     </select>
    18 </mapper>

               (4). 编写工厂类 用来返回SqlSessionFactory对象  

            

                

    package com.hxzy.mybatis.entity;
    
    import org.apache.ibatis.annotations.Results;
    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 java.io.Reader;
    
    public class SqlSession_entity {
        private static Reader reader;
        private static SqlSessionFactory factory;
        static {
            //加载mybatis核心配置文件
            try {
                reader = Resources.getResourceAsReader("mybatis_cnfg.xml");
            }catch (Exception e){
                System.out.println(e);
            }
            factory = new SqlSessionFactoryBuilder().build(reader);
        }
          //调用这个方法就会返回一个Sqlsession对象
    public static SqlSession getSession(){ return factory.openSession(); } }

            (5) 测试  (Test_mybatis)

          

    package com.hxzy.mybatis.test;
    
    import com.hxzy.mybatis.entity.SqlSession_entity;
    import com.hxzy.mybatis.pojo.Teacher;
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    
    public class Test_mybatis {
        @Test
        public void  test1(){
            /**
             * 普通的查询
             */
            //得到SqlSession
            SqlSession sqlSession = SqlSession_entity.getSession();
            //创建sql语句
            String sql  = "Teacher.one_query";
           Teacher teacher =  sqlSession.selectOne(sql);
            System.out.println(teacher);
            //关闭
            sqlSession.close();
        }
    
    }

        

      

  • 相关阅读:
    如何快速把 Vue 项目升级到 webpack3
    10分钟学会ES7+ES8
    数组的32场演唱会
    你做的拷贝是真的深拷贝吗
    浅谈CSS模块化
    CORS跨域资源共享你该知道的事儿
    像VUE一样写微信小程序-深入研究wepy框架
    小型Web页打包优化(下)
    PT与PX区别
    px、pt和em的区别
  • 原文地址:https://www.cnblogs.com/gu-bin/p/10484010.html
Copyright © 2020-2023  润新知