Mybatis简单使用以及配置文件简单介绍

使用Mybatis的过程分为以下步骤:

一、导入jar或在pom中添加依赖

      以MySQL数据库为例

需要添加如下依赖:

       
         
            org.mybatis
            mybatis
            3.5.4
        

        
            mysql
            mysql-connector-java
            5.1.48
        

二、创建Model类以及DAO类(数据库访问类)

字段名最好与数据库列名相同

例如:

package com.my.domain;

public class User {
        String username;
        String password;
        String birthday;
        int id;
        String email;

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }


    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday= birthday;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
 @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", birthday='" + brithday + '\'' +
                ", id='" + id + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}

这里对应我数据库User表以及表中的列,封装get&set方法,重写tostring()方法用来方便看执行结果(有无均可)

=============================分割线===================================

DAO接口:

package com.my.dao;

import com.my.domain.User;

import java.util.List;

public interface IUserDao {
 public   List findAll();
 public int inseterUser(User user);
 public  User findUserById(String id);
 public void updateUser(User user);
 public void delUser(String id);
}

创建接口,并且定义好需要操作数据库执行的方法(Mybatis可以不写实体类,直接使用动态加载,所以只要写接口就好)

三、创建mybatis配置文件(SqlMapperConfig.xml)




     
    
        
     
            
                
                
                
                
            
        
    
    
        

    

四、创建映射文件IUserDaoMapper.xml(在上述mapper标签中有体现)






    
    
        
        insert into user(username,password,brithday,email) values (#{username},#{password},#{brithday},#{email})
    
    
        update user set username=#{username},password=#{password},brithday=#{brithday},email=#{email} where id=#{id}
    
    
        delete from user where id=#{id};
    
    

看了映射文件会有一个疑问,就是#{xxx}是什么,其实这个是Mybatis配置中的占位符 #{username}代表从resultType属性的类中取username属性,底层调用了get方法,但是省略显示了。

如果你看到这里并且上面的都已经创建好了以后,下面最后一步就是测试了,不过测试中也会有很多要注意的,下面我可以创建一个测试类,这里我直接在Main方法中测试:

 public static void main(String[] args) throws IOException {
//将配置文件加载到输入流,这里还可以用类加载器
        InputStream in= Resources.getResourceAsStream("SqlMapperConfig.xml");
//使用SqlSessionFactoryBuilder 构建SqlSessionFactory工厂类
  SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new  SqlSessionFactoryBuilder();
        SqlSessionFactory factory = sqlSessionFactoryBuilder.build(in);
//使用SqlSessionFactory类打开数据库会话
        SqlSession sqlSession = factory.openSession();
//使用SqlSession对象动态加载DAO实体类,并返回
        IUserDao userDao = sqlSession.getMapper(IUserDao.class);

//下面就是调用方法去使用了,这里之所以不用创建DAO实体类是因为SqlSession对象动态加载DAO实体类,我//们无需手动创建了,直接拿来用,当然也可以自己写实体类,感兴趣可以去查阅资料不赘述


//        查询所有用户信息
        List users = userDao.findAll();
        Iterator iterator = users.iterator();
        while (iterator.hasNext())
        {
            User user=iterator.next();
            System.out.println("查询所有信息:"+user.toString());
        }
//        根据用户ID查询信息
        User userById = userDao.findUserById("77665 ");
        System.out.println("根据id查询信息" +userById.toString());
//        更新用户信息
        User upuser=new User();
        upuser.setId("77668");
        upuser.setUsername("admin1233");
        upuser.setPassword("admin");
        upuser.setBrithday("2020-01-01");
        upuser.setEmail("[email protected]");
        userDao.updateUser(upuser);
        System.out.println("updateOK");
        userDao.delUser("77700");
//        添加用户
        User inuser=new User();
        inuser.setUsername("insteruser12");
        inuser.setPassword("admin");
        inuser.setBrithday("2020-01-01");
        inuser.setEmail("[email protected]");
       userDao.inseterUser(inuser);
//        删除用户
//注意!若存在insert 语句,会默认关闭自动提交事务,此时需要我们手动提交,方法如下
        sqlSession.commit();
    }

自此,mybatis的简单使用已经实现,

你可能感兴趣的:(mysql)