栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis的基础使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis的基础使用

1.先要创建一个所需要的数据库:

例:

DROp TABLE IF EXISTS `user`;
 
CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(32) NOT NULL COMMENT '用户名称',
  `birthday` datetime default NULL COMMENT '生日',
  `sex` char(1) default NULL COMMENT '性别',
  `address` varchar(256) default NULL COMMENT '地址',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 
 
insert  into `user`(`id`,`username`,`birthday`,`sex`,`address`) values
(41,'老王','2018-02-27 17:47:08','男','北京'),
(42,'小二王','2018-03-02 15:09:37','女','北京金燕龙'),
(43,'小二王','2018-03-04 11:34:34','女','北京金燕龙'),
(45,'传智播客','2018-03-04 12:04:06','男','北京金燕龙'),
(46,'老王','2018-03-07 17:37:26','男','北京'),
(48,'小马宝莉','2018-03-08 11:44:00','女','北京修正');

在maven中pom.xml文件里添加一些依赖:

例:



    4.0.0

    com.auj
    Mybatis_Project1
    1.0-SNAPSHOT

    
    jar

    
        
            org.mybatis
            mybatis
            3.5.4
        

        
            mysql
            mysql-connector-java
            5.1.48
        

        
            log4j
            log4j
            1.2.17
        

        
            junit
            junit
            4.13
            test
        



    



3.在src 中创建实体类:在com.auj.domain 创建一个User实体类 方便读取对象 (主要作用是提取的核对数据字段的对接);

package com.auj.domain;

import java.util.Date;

public class User {
    private Integer id;
    private String userName;
    private Date birthday;
    private String sex;
    private String address;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Date getBirthday() {
        return birthday;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + ''' +
                ", birthday=" + birthday +
                ", sex='" + sex + ''' +
                ", address='" + address + ''' +
                '}';
    }
}

4.创建一个dao 作用是 所实现的功能:比如查询所有的人 是一个接口:

package com.auj.dao;

import com.auj.domain.User;

import java.util.List;

public interface IUserDao {
    List findAll();
}

下面利用mybatis 功能来简化JDBC

5.首先 建立连接池 在resource包中建立SqlMapConfig.xml 他的主要功能是链接数据库






    
    
        
        
            
            
            
            
                
                
                
                
                


            
        
    

    
      
        
    


接下来就是配置mappers 里面的功能

6.实现查询语句 查询所有的人 findall方法:





    
    

7..进行测试此功能 在下面的test包里建一个测试类进行测试

package com.auj.test;

import com.auj.dao.IUserDao;
import com.auj.domain.User;
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 java.io.InputStream;
import java.util.List;

public class MybatisTest {
    
    public static void main(String[] args) throws Exception {
        // 1. 读取配置文件:就是主连接文件
        				
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");

        // 2. 创建SqlSessionFactory对象 
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(in);

        // 3. 使用工厂生产的SqlSession对象
        SqlSession session = factory.openSession();


        // 4. 使用SqlSession对象创建的Dao接口的代理对象
        IUserDao userdao = session.getMapper(IUserDao.class);

        // 5. 使用代理对象执行方法
        List users = userdao.findAll();
        for(User user : users){
            System.out.println(user);
        }

        // 6. 释放资源
        session.close();
        in.close();
}

}

mybatis 具体工作原理:他确实简化了 jdbc 在后期的维护啥的

 

多用代理模式:

在dao创建一个接口:

Mapper 里的 sql 语句的 id 为接口的方法名字

利用 sqlSession方法里的 getMapper()方法 ,导入接口 返回一个 该接口代理名

就可以调用方法来执行sql语句 的命令;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号