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

mybatis框架

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

mybatis框架

mybatis框架 JDBC编程及JDBC存在问题

存在问题:

1、使用JDBC操作数据库前进行连接,操作完成后关闭连接,并发量大的情况下影响性能解决:连接池
2、SQL语句硬编码在Java代码中,需求改变需要更改java代码本身解决:将SQL语句放在配置文件中(xml形式),需求发送给变只需要修改配置文件即可
3、返回结果集存在硬编码将数据库中的数据集映射为Java对象

mybatis框架介绍

介绍:
中文网址:https://mybatis.org/mybatis-3/zh/index.html
1、MyBatis 是一款优秀的持久层框架,前身是ibatis,apchche旗下的数据库持久层框架
2、它支持自定义 SQL、存储过程以及高级映射。
3、MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
4、MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO为数据库中的记录。
框架原理:

mybatis的使用demo

1、通过maven管理依赖

        
        
            org.mybatis
            mybatis
            3.4.1
        

2、全局配置文件(mybatis-config.xml)




    
    
        
        
            
            
            
            
                
                
                
                
            
        
    

3、pojo类(Student)

public class Student {
    private Integer SID;
    private String Sname;
    private String Ssex;
    private Integer Sage;
 //getter和setter方法省略
}

4、mapper的接口文件(studentmapper.java)

public interface StudentMapper {
    
    //通过id来查询某一个学生信息
    public Student selectStudentById(Integer id);
}

5、mapper的配置文件(studentmapper.xml)





    
    
    
        select * from student where SID = #{id}
    

resultMap和resultType的异同点
相同点:指定返回结果的
不同点:
resultType:给定映射的java对象,完成自动映射,如果数据库字段名和java字段一致建议选用resultType
resultMap:需要显性的指定映射关系,如果数据库字段名和java字段不一致必须选用resultMap显性指定映射关系

 
    
        delete from student where SID = #{id}
    
    
    
    
    
    
    
编程详解

/**

  • SqlSessionFactoryBuilder
  • 用来创建sqlSessionFactory会话工厂
  • SqlSessionFactory:会话工厂
  • 通过读取配置文件创建、配置参数,对文件读取一次即可,可以将SqlSessionFactory设置为单例模式
  • 通过SqlSessionFactory创建会话
  • sqlSession:会话:
  • 对数据库的CRUD操作哦都是通过会话操作,sqlSession是线程不安全的,将会话设置为局部变量
  • 一级缓存机制就是sqlSession会话级别的缓存,mybatis默认是开启一级缓存

关于自增id的问题?
如果是设置数据库自增id,建议在插入数据时不用给定id字段插入操作,数据库会自动生成id可以自行插入,插入的id值在数据库没有的情况下可以插入成功

id 1 2 3 4 5 9 10 11
insert 5 X
insert 9 自动插入9是可以插入,再新增id是在9的基础上进行新增

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

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

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