ORM简介

1. ORM简介

​ JDBC 是Java与数据库交互的统一API。

1.1传统JDBC操纵步骤:

  1. 注册数据库驱动类,指定url地址、用户名、密码等连接信息
  2. 通过DriverManager打开数据库连接
  3. 通过数据库连接创建Statement对象
  4. 通过Statement对象执行SQL,得到ResultSet对象
  5. 通过ResultSet 对象读取数据,并将数据转为JavaBean
  6. 关闭相应资源、连接
    private String dbUrl="jdbc:mysql://localhost:3306/db_dxqgl";
	private String dbUserName="root";
	private String dbPassword="111";
	private String jdbcName="com.mysql.jdbc.Driver";
	
	public  Connection getCon()throws Exception{
		Class.forName(jdbcName);
		Connection con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
		return con;
	}
	
	try {							
			conn =dbUtil.getCon();
			String sql = "SHOW TABLES LIKE '"+tname+"'";
			Statement sta = conn.createStatement();
			ResultSet rs = sta.executeQuery(sql);
			if(rs.next()){
					
			}else{
                   PreparedStatement pstmt2 = conn.prepareStatement(sql1,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
				pstmt2.executeUpdate();	
			}									
		} catch (Exception ex) {
			ex.printStackTrace();
		} finally {
        	conn.close();
        	sta.close();
    	}
   }

​ 步骤1-4 和 6 ,在每次的增删改查都会用到,可以进行封装,步骤5完成关系模型到对象模型的转换,ORM框架主要作用就是根据映射文件的配置,完成数据在关系模型和对象模型之间的映射,同时屏蔽上述重复代码。同时,为了节约数据库珍贵资源,一般会集成缓存、数据源、数据库连接池等组件。

1.2 常见持久化框架

概念区分

jdbc

Java连接数据库操作的原生接口,对Java程序员是API, 对数据库服务提供商来说是接口模型,各数据库厂商都要实现jdbc接口

jpa

Java持久化规范,是ORM框架的标准,诞生的缘由是为了整合第三方ORM框架。

spring data jpa

Spring整合第三方框架,做持久化这一部分的整合,产生了spring-data-*一系列的包,包括sping-data-jpa, sping-data-template…, 是对jpa 的再次抽象,具体hibernate 实现的。

​ mybatis

一个不完全的ORM框架,但是更灵活。

1.3 Mybatis

​ Java程序如何加载配置文件和使用mybatis 的API

  1. 加载mybatis_config.xml
  2. 根据配置文件创建SqlSessionFactory
  3. 通过SqlSessionFactory创建SqlSession
  4. SqlSession中定义了执行SQL语句的各种方法
  5. 通过SqlSession提交事务,关闭对象。
String resource = "com/xxx/mybatis-config.xml"
InputStream inputStream = Resource.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();
try {
    Map<String, Object> parameter = new HashMap<>():
    parameter.put("id", 1);
    User user = session.selectOne("com.xx.UserMapper.selectUser", parameter);
} finally {
    session.close();
}

1.3.1 Mybatis 整体架构

基础支持层、核心处理层、接口层

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值