zoukankan      html  css  js  c++  java
  • Mybatis入门

    1.Mybatis介绍

    mybatis是一个优秀的持久化框架,它封装了很多jdbc的操作,简化了数据库操作。

    2.Mybatis入门程序

    入门程序需要大概需要7个文件

    2.1pom.xml

    <dependencies>
            <dependency>
                <groupId>mysql</groupId>//mysql的依赖
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.47</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>//mybatis的依赖
                <artifactId>mybatis</artifactId>
                <version>3.5.6</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>//junit测试依赖
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
        </dependencies>

    2.2mybatis-config.xml

    <configuration>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">            //mysql的基本信息
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/smbms?&amp;useSSL=false"/>
                    <property name="username" value="root"/>
                    <property name="password" value="804907"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="dao/userMapper.xml"/>        //核心配置文件中注册 mappers,很重要
        </mappers>

    2.3实体类User.java

    public class User {     //只插入了一部分,这个类应该还有get,set和tostring()
        private int id;
        private String userCode;
        private String userName;
        private String userPassword;
        private int gender;
        private Date birthday;
        private String phone;
        private String address;
        private int userRole;
        private int createBy;
        private Date creationDate;
        private  int modifyBy;
        private Date modifyDate;
    }

    2.4操作数据库的dao层里的userDao.java

    public interface userDao {
        List<User> getListUser();//这个是接口类,具体实现有mapper来完成
    }

    2.5userMapper.xml

    //这个是具体操作数据库的
    <
    mapper namespace="dao.userDao">//这里要求你写对应接口类 <select id="getListUser" resultType="pojo.User">//id要求写对应接口类的方法。//resultType要求写返回类型,
    //其实这里还有一个常用的parameterType即参数类型
     select * from smbms_user; 

    </select>

    </mapper>

    2.6工具类MybatisUtils

    public class MybatisUtils {//以下是固定的写法,由官方文档提供
    
        private static SqlSessionFactory sqlSessionFactory;
        static {
            try {
                //使用Mybatis第一步:获取sqlSessionFactory对象
                String resource = "mybatis-config.xml";
                InputStream inputStream = Resources.getResourceAsStream(resource);
                sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        //既然有了 SqlSessionFactory,顾名思义,我们就可以从中获得 SqlSession 的实例了。
        // SqlSession 完全包含了面向数据库执行 SQL 命令所需的所有方法。
        public static SqlSession getSqlSession(){
            return sqlSessionFactory.openSession();
        }
    }

    2.7测试类

    public class userDaoTest {
        @Test
        public void getUserList(){
            //第一步:获得SqlSession对象
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            //方式一:getMapper
            userDao userDao = sqlSession.getMapper(userDao.class);
            List<User> userList = userDao.getListUser();
            for (User user : userList) {
                System.out.println(user);
            }
            //关闭SqlSession
            sqlSession.close();
        }
    }

    其中2.1,2.3,2.4,2.6,2.7都是比较固定的,读者应重点阅读2.2和2.5,仔细思考

  • 相关阅读:
    《程序是怎样跑起来的》读书笔记——第十一章 硬件控制方法
    《程序是怎样跑起来的》读书笔记——第十章 通过汇编语言了解程序的实际构成
    《程序是怎样跑起来的》读书笔记——第九章 操作系统和应用的关系
    《程序是怎样跑起来的》读书笔记——第八章 从源文件到可执行文件
    《程序是怎样跑起来的》读书笔记——第七章 程序是在何种环境中运行的
    Linux入门之常用命令(15) lsof
    关于volatile 最完整的一篇文章
    Redis缓冲区设置
    设计模式之【抽象工厂模式】
    设计模式之【工厂模式】
  • 原文地址:https://www.cnblogs.com/chaogechaoge/p/14640672.html
Copyright © 2011-2022 走看看