zoukankan      html  css  js  c++  java
  • 搭建搭建 Mybatis 开发环境

    1.创建maven工程

    创建 mybatis01 的工程,工程信息如下:
    Groupid:com.itheima
    ArtifactId:mybatisfirst
    Packing:jar
    2.添加Mybatis3.4.5的坐标
    在 pom.xml 文件中添加 Mybatis3.4.5 的坐标,如下
        <dependencies>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.4.5</version>
            </dependency>
            <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>sqljdbc4</artifactId>
                <version>4.0</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
                <scope>test</scope>
            </dependency>
        </dependencies>

    3、编写User实体类

    public class Users implements Serializable {
        private  String ID;
        private  String Name;
        private  String Account;
        private  String Password;
        private  Integer Status;
        private  Integer Sort;
        private String Note;
    
        public String getID() {
            return ID;
        }
    
        public void setID(String ID) {
            this.ID = ID;
        }
    
        public String getName() {
            return Name;
        }
    
        public void setName(String name) {
            Name = name;
        }
    
        public String getAccount() {
            return Account;
        }
    
        public void setAccount(String account) {
            Account = account;
        }
    
        public String getPassword() {
            return Password;
        }
    
        public void setPassword(String password) {
            Password = password;
        }
    
        public Integer getStatus() {
            return Status;
        }
    
        public void setStatus(Integer status) {
            Status = status;
        }
    
        public Integer getSort() {
            return Sort;
        }
    
        public void setSort(Integer sort) {
            Sort = sort;
        }
    
        public String getNote() {
            return Note;
        }
    
        public void setNote(String note) {
            Note = note;
        }
    }

    4.编写持久层接口IUserDao

    public interface IUserDao  {
    
        List<Users> FindAll();
        Users FindByName(String Name);
    }

    5、编写持久层的映射文件IUserDao.xml

    要求:
    创建位置:必须和持久层接口在相同的包中。
    名称:必须以持久层接口名称命名文件名,扩展名是.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="com.mingqi.dao.IUserDao">
        <select id="FindAll" resultType="com.mingqi.domin.Users">
            select * from Users
        </select>
        <select id="FindByName" resultType="com.mingqi.domin.Users">
            select * from Users where name  like #{name}
        </select>
    </mapper>

    6、编写SqlMapConfig.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>
        <!---配置环境-->
        <environments default="">
            <environment id="SqlServer">
                <!---配置事务类型-->
                <transactionManager type="JDBC"></transactionManager>
                <!---配置数据源-->
                <dataSource type="POOLED">
                    <!---配置链接数据库的基本信息-->
    
                    <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
                    <property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=test"/>
                    <property name="username" value="sa"/>
                    <property name="password" value="123sa"/>
                </dataSource>
            </environment>
        </environments>
        <!---映射-->
        <mappers>
            <mapper resource="com/mingqi/dao/IUserDao.xml"></mapper>
        </mappers>
    </configuration>

    7、编写测试类

    package com.mingqi;
    import com.mingqi.dao.IUserDao;
    import com.mingqi.domin.Users;
    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 org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    public class mybatisTest {
        private InputStream in;
        private SqlSession session;
        private  IUserDao userdao;
        @Before//用于在测试方法执行之前执行
        public void init()throws Exception{
            //1.读取配置文件,生成字节输入流
            in = Resources.getResourceAsStream("SqlMapConfig.xml");
            //2.获取SqlSessionFactory
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in,"SqlServer");
            //3.获取SqlSession对象
            session = factory.openSession();
            //4.获取dao的代理对象
            userdao = session.getMapper(IUserDao.class);
        }
        @After//用于在测试方法执行之后执行
        public void destroy()throws Exception{
            //提交事务
            session.commit();
            //6.释放资源
            session.close();
            in.close();
        }
        @Test
        public  void TestFindAll() throws Exception {
            //1读取配置文件
            //InputStream inputStream;
      /*      InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
            //2创建SqlSessionFactory工厂
            SqlSessionFactoryBuilder sfb =new SqlSessionFactoryBuilder();
            SqlSessionFactory factory=sfb.build(inputStream,"SqlServer");
    
            //3使用工厂生产SqlSession 对象
            SqlSession session=factory.openSession();
            // 4使用Sql 创建Dao 接口的代理对象
            IUserDao userdao=session.getMapper(IUserDao.class);*/
            //5使用代理对象执行放放
            List<Users> users=userdao.FindAll();
            for (Users User :users)
            {
                System.out.println(User.getName());
            }
            //6释放方法
          /*  session.close();
            inputStream.close();*/
        }
        @Test
        public void TestFindByName() throws IOException {
            //1读取配置文件
            //InputStream inputStream;
    /*        InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
            //2创建SqlSessionFactory工厂
            SqlSessionFactoryBuilder sfb =new SqlSessionFactoryBuilder();
            SqlSessionFactory factory=sfb.build(inputStream,"SqlServer");
            //3使用工厂生产SqlSession 对象
            SqlSession session=factory.openSession();
            // 4使用Sql 创建Dao 接口的代理对象
            IUserDao userdao=session.getMapper(IUserDao.class);*/
            //5使用代理对象执行放放
           Users user=userdao.FindByName("%李%");
          //  for (Users User :users)
            //{
                System.out.println(user.getName());
          //  }
            //6释放方法
           // session.close();
          //  inputStream.close();
    
        }
    }
    通过快速入门示例,我们发现使用 mybatis 是非常容易的一件事情,因为只需要编写 Dao 接口并且按照
    mybatis 要求编写两个配置文件,就可以实现功能。远比我们之前的 jdbc 方便多了。
    SqlMapConfig.xml 配置文件
  • 相关阅读:
    解决npm 下载速度慢的问题
    mongodb可视化工具mongobooster
    页面响应时间测试
    pyH支持python3
    python正则表达式
    Windows下TeX Live + Sublime Text 3 + Sumatra PDF配置
    Octocat,看着喜欢就都下载下来了
    [c#]记一次实验室局域网的ARP欺骗
    [FQ]Tor + Chrome + PAC 尝试 FQ
    [c#][福利]BTTool种子文件修改工具
  • 原文地址:https://www.cnblogs.com/mingqi-420/p/13036212.html
Copyright © 2011-2022 走看看