zoukankan      html  css  js  c++  java
  • 初识MyBatis

    框架技术

      

     主流框架

      

      

      

     持久化与ORM

      

      

    MyBatis

     简介

      

     环境搭建

      

      导入mybatis-3.2.3.jar(可添加源码)

      

      

      MyBatis配置文件mybatis-config.xml(resources目录下)

    <?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">
    
    <!-- 通过这个配置文件完成mybatis与数据库的连接 -->
    <configuration>
        <!-- 引入 database.properties 文件-->
        <properties resource="database.properties"/>
        <!-- 配置mybatis的log实现为LOG4J -->
        <settings>
            <setting name="logImpl" value="LOG4J" />
        </settings>
        <environments default="development">
            <environment id="development">
                <!--配置事务管理,采用JDBC的事务管理  -->
                <transactionManager type="JDBC"></transactionManager>
                <!-- POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 -->
                <dataSource type="POOLED">
                    <property name="driver" value="${driver}"/>
                    <property name="url" value="${url}"/>
                    <property name="username" value="${username}"/>
                    <property name="password" value="${password}"/>
                </dataSource>
            </environment>
        </environments>
        
        <!-- 将mapper文件加入到配置文件中 -->
        <mappers>
            <mapper resource="cn/smbms/dao/user/UserMapper.xml"/>
        </mappers>
    
    </configuration>

      实体类User.java(cn.smbms.pojo目录下)

      DAO层-SQL映射文件UserMapper.xml(cn.smbms.dao.user目录下)

    <?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="cn.smbms.dao.user.UserMapper">
        
        <!-- 查询用户表的记录数 -->
        <select id="count" resultType="int">
            select count(1) as count from smbms_user
        </select>
        
        <!-- 查询用户列表 -->
        <select id="getUserList" resultType="cn.smbms.pojo.user.User">
            select * from smbms_user
        </select>
        
    </mapper

      工具类

    public class MyBatisUtil {
        private static SqlSessionFactory factory;
    
        static {
            try {
                // 1、获取mybatis-config.xml输入流
                InputStream is = Resources
                        .getResourceAsStream("mybatis-config.xml");
                // 2、创建SqlSessionFactory对象,完成对配置文件的读取
                factory = new SqlSessionFactoryBuilder().build(is);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public static SqlSession openSqlSession() {
            return factory.openSession();
        }
    
        public static void closeSqlSession(SqlSession sqlSession) {
            if (null != sqlSession) {
                sqlSession.close();
            }
        }
    
    }

      测试类

    public class UserMapperTest {
        private Logger logger = Logger.getLogger(UserMapperTest.class);
    
        @Test
        public void test() {
            // 3、创建SqlSession
            SqlSession sqlSession = MyBatisUtil.openSqlSession();
            // 4、调用mapper文件来对数据进行操作,必须先把mapper文件引入到mybatis-config.xml中
            int count = sqlSession.selectOne("cn.smbms.dao.user.UserMapper.count");
            logger.debug("UserMapperTest count ----> " + count);
            MyBatisUtil.closeSqlSession(sqlSession);
        }
    
        @Test
        public void testGetUserList() {
            // 3、创建SqlSession
            SqlSession sqlSession = MyBatisUtil.openSqlSession();
            // 4、调用mapper文件来对数据进行操作,必须先把mapper文件引入到mybatis-config.xml中
            List<User> userList = sqlSession
                    .selectList("cn.smbms.dao.user.UserMapper.getUserList");
            for (User user : userList) {
                logger.debug("userName" + user.getUserName());
            }
            MyBatisUtil.closeSqlSession(sqlSession);
        }
    
    }

     添加本地dtd文件映射(提供编码提示,可添加config和mapper)

      

      

    MyBatis基本要素

      

     核心接口和类

      SqlSessionFactoryBuilder

      

      SqlSessionFactory

      

      SqlSession

      

      

     核心配置文件

      

      配置properties元素的两种方式

      

      settings元素

      

      typeAliases元素

      

      environments元素

      

      mappers元素

      

  • 相关阅读:
    总结jQuery选择器
    Responsive布局技巧
    学习资料
    大公司开源项目【转载】
    针对css3特性浏览器兼容 封装less
    手把手教你nginx/linux下如何增加网站
    又一枚神器:nginx
    http://www.howtocn.org/nginx
    nginx修改内核参数
    Nginx
  • 原文地址:https://www.cnblogs.com/xhddbky/p/9407280.html
Copyright © 2011-2022 走看看