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

MyBatis框架学习

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

MyBatis框架学习

1.什么是MyBatis?

         MyBatis是一个半自动的ORM(Object-relational mapping),中文翻译为对象关系映射持久层框架。

        1.1 ORM具体指什么?

               Object Relation Mapping,对象关系映射。对象指的是Java对象,关系则指数据库中的关系模型,对象关系映射,就是指Java对象和数据库的关系模型之间建立一种对应关系,Java中Clazz类,则对应着数据库中一个表Clazz,类中属性和表中的列一一对应。一个Clazz对象就对应着student表中的一行数据。

           1.2 MyBatis是半自动ORM框架

                在使用MyBatis进行开发时,需要手动编写SQL语句全自动的ORM框架则不需要编写SQL语句,只需要定义好ORM映射关系,就可以直接进行CRUD操作了。正是因为MyBatis需要手写SQL语句,所以它具有很高的灵活性。但与JDBC相比它提供了输入映射和输出映射,可以很方便的进行SQL参数设置,和结果的集成封装。还提供了关联查询和动态SQL等功能,极大提升开发的效率。

2.MyBatis的特点。

        它具有较高的SQL灵活性支持高级映射(1对1,1对多,多对多),动态sql,延迟加载和缓存等特性,但它的数据库无关性比较低。

3.MyBatis的使用步骤

   1.在本地mysql上建一个db_test库

        创建商品表

 2.打开IDEA,创建maven项目,导入依赖包,创建商品类

3.编写mapper中实体类的接口

Mapper
@Mapper是mybatis自身带的注解。在spring程序中,mybatis需要找到对应的mapper,在编译时生成动态代理类,与数据库进行交互,这时需要用到@Mapper注解

mybatis中RowBounds实现分页功能
new RowBounds(offset,limit);

RowBounds在处理分页时,只是简单的把offset之前的数据都skip掉,超过limit之后的数据不取出,上图中的代码取自MyBatis中的DefaultResultSetHandler类。跳过offset之前的数据是由方法skipRows处理,判断数据是否超过了limit则是由shouldProcessMoreRows方法进行判断。简单点说道,就是先把数据全部查询到ResultSet,然后从ResultSet中取出offset和limit之间的数据,这就实现了分页查询。

实例

pom.xml配置文件




    4.0.0

    org.example
    firstMyBaits
    1.0-SNAPSHOT

    firstMyBaits
    
    http://www.example.com

    
        UTF-8
        1.7
        1.7
    

    
        
            junit
            junit
            4.11
            test
        

        
        
            org.mybatis
            mybatis
            3.5.10
        


        
        
            mysql
            mysql-connector-java
            8.0.29
        

        
        
            org.projectlombok
            lombok
            1.18.24
            provided
        
        
            org.springframework
            spring-context
            5.3.22
        

        
            org.springframework
            spring-orm
            5.3.22
        

        
        
            org.mybatis
            mybatis-spring
            2.0.7
        


    

    
        
            
                
                
                    maven-clean-plugin
                    3.1.0
                
                
                
                    maven-resources-plugin
                    3.0.2
                
                
                    maven-compiler-plugin
                    3.8.0
                
                
                    maven-surefire-plugin
                    2.22.1
                
                
                    maven-jar-plugin
                    3.0.2
                
                
                    maven-install-plugin
                    2.5.2
                
                
                    maven-deploy-plugin
                    2.8.2
                
                
                
                    maven-site-plugin
                    3.7.1
                
                
                    maven-project-info-reports-plugin
                    3.0.0
                
            
        
    

src/main/resources/mybatis-config.xml




    
        
            

            
            
            
                
                
                
                
            

        
    

    
        
    

src/main/resources/applicationContext.xml



    
    
        
        
    
    
        
        
        
        
    
    
        
        
    

User

import lombok.Data;

@Data
public class User {
    private int id;
    private String username;
    private String pwd;
}

注释方法:

@Repository
public interface UserMapper {
    @Insert("insert into tb_user (username,pwd) value(#{u.username},#{u.pwd})")
    int insertUser(@Param("u") User user);

    int update(@Param("u") User user);

    User selectUser(int id)


@Insert("insert into tb_user (username,pwd) value(#{u.username},#{u.pwd})")
 int insertUser(@Param("u") User user);
//是注解的写法

usermapper.xml




    
        insert into tb_user (username, pwd)
        values (#{u.username}, #{u.pwd});
    
    
        update
        tb_user
        
            
                username = #{u.username},
            
            
                pwd =#{u.pwd},
            
        
        
            id = #{u.id}
        
    

使用main方法中

 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserMapper mapper = context.getBean(UserMapper.class);
        User u = new User();
        u.setUsername("zj");
        u.setPwd("666");
        mapper.insertUser(u);

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

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

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