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

Mybatis学习

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

Mybatis学习

1.简介 1.1什么是Mybatis?

1.2去哪获取?

Github
中文文档
maven仓库:


    org.mybatis
    mybatis
    3.5.6


2.搭建环境

    连接数据库(Database)导入maven依赖(pom.xml)


    4.0.0

    
    org.example
    mybatis
    pom
    1.0-SNAPSHOT
    
        mb01
    

    
        8
        8
    
    
    
        
        
           mysql
           mysql-connector-java
           5.1.46
        
        
        
        
            org.mybatis
            mybatis
            3.5.6
        
        
        
            junit
            junit
            4.12
        
    


    
        
            
                src/main/resources
                
                    ***.xml
                
                true
            
            
                src/main/java
                
                    ***.xml
                
                true
            
        
    


    SqlSession(MybatisUtils)
package com.kuang.utiles;

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.IOException;
import java.io.InputStream;
    public class MybatisUtils {
        static  SqlSessionFactory sqlSessionFactory;
        //这里使用static代码块的原因是想让代码一运行就创建一个SqlSessionFactory实例
        static{
            String resources = "mybatis-config.xml";
            InputStream inputStream = null;
            try {
                inputStream = Resources.getResourceAsStream(resources);
            } catch (IOException e) {
                e.printStackTrace();
            }
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        }
        //获取SqlSession的方法,每当需要执行SQL语句的时候都要调用这个方法
        public static SqlSession getSqlSession(){
            return sqlSessionFactory.openSession();
        }
}
    Mybatis核心配置文件(UserMapper.xml)




    
    
        select * from mybatis.user;
    

    测试(UserMapperTest)
package com.kuang.dao;

import com.kuang.pojo.User;
import com.kuang.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;

public class UserMapperTest {


        @Test
        public void Test(){
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            List userList = mapper.getUserList();
            for (User user : userList) {
                System.out.print(user.getId());
                System.out.print(user.getName().toString());
                System.out.println(user.getPwd().toString());
            }
        }
}

总结:

    连接数据库导入jar包(maven依赖)SqlSessionMybatis核心配置文件实体类、接口、Mapper文件(代替实现类)test

借鉴笔记

3.增删改查(掌握查)



4.配置(mybatis.config.xml)


注意标签顺序(有个表)

1.环境(environment)

2.properties

1.编写一个db.properties文件

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8
username=root
password=420138

2.在mybatis核心配置文件中加在外部配置文件来连接数据库




     
    
    
    
        
            
            
                
                
                
                
            
        
    
    
        
    

${xxx} 表示的是:调用某个变量,该变量的名称就是{xxx}里面的"xxx"。

4. typeAliases(定义别名)

类型别名是为java类型这只一个短的名字。
意义在于用来减少过长类名的冗余

1.类配置别名
即自定义别名,使用typeAlias标签配置别名,type别名填写全限类定名,alias填写别名,将二者映射在一起。

    
        
    
    
        select * from mybatis.user where id = #{id};
    

UserMapperTest.java

public class UserMapperTest {
        @Test
        public void Test(){
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            User user = mapper.getUserById(3);
            System.out.println(user);

            sqlSession.close();
        }
}

结果集映射主要解决的是当前查询语句所查询出来的表的列名和属性名不一致的问题,并非是数据库列名和属性名不一致的问题,这点要注意
https://www.kuangstudy.com/bbs/1489949706024325122

7.注解


注解开发

mybatis使用注解开发可以不创建xml查询文件,但是弊端也很明显,对于较为复杂的SQL语句会显得接口变得十分臃肿,且无法完成复杂的SQL语句
直接把.UserMapper.xml删掉

//UserMapper.java
package com.kuang.dao;

import com.kuang.pojo.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface UserMapper {
    @Select("select * from mybatis.user")
    List getUserList();
}

https://www.kuangstudy.com/bbs/1499684790428209154

Mybatis Projecr
123:mb01
456:mb02
7:mb03

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

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

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