• MyBatis学习总结——MyBatis快速入门


    MyBatis学习总结(一)——MyBatis快速入门

    一、Mybatis介绍

             MyBatis是一个支持普通SQL查询存储过程高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

    二.Mybatis入门

    1. 用到的相关包 
         {Mybatis}
                  mybatis-3.4.4.jar
     

         {数据库驱动包}

                ojdbc6.jar

    2 . NewFile.xml文件中的内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC
    "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <!-- 引入属性文件 -->
        <properties resource="conf/jdbc_orcl.properties"></properties>
        <!-- 别名 -->
        <typeAliases>
            <!-- <typeAlias type="model.User" alias="aaa"/> -->
            <!-- 某个包下面所有的实体类 -->
            <package name="model"></package>
        </typeAliases>
        <environments default="development">
            <environment id="development">
                <!-- 事物管理器 有两种:一种是JDBC 另一种是MANAGER...(托管) weblogic,jboss..... tomact没有 -->
                <transactionManager type="JDBC"></transactionManager>
                <!-- 配置数据源 UNPOOLED非连接池 POOLED连接池 JNDI应运服务器 -->
                <dataSource type="POOLED">
                    <property name="username" value="${jdbc.username}" />
                    <property name="password" value="${jdbc.password}" />
                    <property name="url" value="${jdbc.url}" />
                    <property name="driver" value="${jdbc.driver}" />
                </dataSource>
            </environment>
        </environments>
        <!--添加映射文件 -->
        <mappers>
            <!-- <package name="mappers"/> -->
            <mapper resource="mappers/userMapper.xml" />
        </mappers>
    </configuration>

    3. userMapper.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">
    <!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 -->
    <mapper namespace="mappers.userMapper">
        <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,
             resultType属性指明查询返回的结果集类型 
             resultType="User"就表示将查询结果封装成一个User类的对象返回 User类就是users表所对应的实体类 -->
        <!-- 根据id查询得到一个user对象 -->
        <select id="getAllUser" resultType="User">
            select * from s_user
        </select>
    
    </mapper>

    4 . MybatisUtil.java文件如下

    package util;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    public class MybatisUtil {
        private static SqlSession sqlSession;
        private static SqlSessionFactory sqlSessionFactory;
    
        public static SqlSessionFactory getSqlSessionFactory() {
             //mybatis的配置文件
            String path="conf/NewFile.xml";
            InputStream in =null;
            try{
            //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
            in=Resources.getResourceAsStream(path);
            }catch(IOException e){
             e.printStackTrace();
                    }
             //构建sqlSession的工厂
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
            return sqlSessionFactory;
        }
        
        public static SqlSession getSqlSession(){
            if(sqlSession==null){
                //创建能执行映射文件中sql的sqlSession
                SqlSession sqlSession=getSqlSessionFactory().openSession();
            }
            return sqlSession;
        }
        
        public static void destory(){
            sqlSession.commit();
            sqlSession.close();
        }
    }

    5.JutilTest.java文件如下

    package test;
    
    import static org.junit.Assert.*;
    
    import java.util.List;
    
    import org.apache.ibatis.session.SqlSession;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    import model.User;
    import util.MybatisUtil;
    
    public class JutilTest {
        private SqlSession ss;
        @Before
        public void setUp() throws Exception {
            ss=MybatisUtil.getSqlSession();
        }
        //映射sql的标识字符串      mappers.userMapper.getAllUser
        @Test
        public void test() {
            //getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
            List<User> list=ss.selectList("mappers.userMapper.getAllUser", User.class);
            System.out.println(list);
        }
        
        @After
        public void tearDown() throws Exception {
            MybatisUtil.destory();
        }
        
    
    }
  • 相关阅读:
    Excel 函数
    selenium+python自动化测试(二)对浏览器的简单操作
    selenium+python自动化测试(一)环境
    py中mongodb使用
    ESQL调oracle存储过程
    boost.asio简单入坑
    浅析tcp中read阻塞
    14 天堂电影信息爬取
    13 爬取豆瓣电影网电影信息
    12 lxml&XPath结合使用(提取数据详解)
  • 原文地址:https://www.cnblogs.com/514929hgy/p/7237033.html
Copyright © 2020-2023  润新知