MyBatis.Net | MyBatis框架
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO 为数据库中的记录。
.NET跨平台
比较认真。编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Mybatis.NET入门学习
MyBatis是一个数据映射工具。 它将包括存储过程的数据库查询的列映射到业务对象的属性。 映射器的一个定义是“在两个独立对象之间建立通信的对象。 数据映射器是“映射器层,用于在对象和数据库之间移动数据,同时使它们彼此之间以及映射器本身保持独立。 为什么? .NET platform already provides a capable library for accessing databases, whether through SQL statements or stored procedures b转载 2020-12-05 15:44:02 · 3612 阅读 · 0 评论 -
Mybatis的介绍和基本使用
1 数据库操作框架的历程 1.1 JDBC JDBC(Java Data Base Connection,Java数据库连接)是用于执行SQL语句的Java API,可以作为多种数据库提供统一访问,它由一组用Java语言编写的类和接口组成。 JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 优点:运行期:快捷。高效 缺点:编辑器:代码量大、繁琐异常处理,不支持数据库跨平台 1.2 DBUtils 1.3 Hibernate Hibernate 是由 Gav转载 2020-12-04 11:32:06 · 509 阅读 · 0 评论 -
Mybatis学习笔记(十一)【一对一查询】
Contents resultType实现 resultMap实现 resultType和resultMap实现一对一查询小结 本文使用两种方式(resultType和resultMap)实现一对一查询,查询订单信息,关联查询创建订单的用户信息 resultType实现 sql语句 确定查询的主表:订单表 确定查询的关联表:用户表 关联查询使用内连接?还是外连接? 由于转载 2017-11-12 18:49:55 · 464 阅读 · 0 评论 -
Mybatis学习笔记(十二)【一对多查询】
Contents 示例 小结 本文实现一对多查询,查询订单及订单明细的信息 示例 sql 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可。 SELECT orders.*, user.username, user.sex, user.address, orderdetail.id orderdetai转载 2017-11-12 18:52:09 · 471 阅读 · 0 评论 -
Mybatis学习笔记(十三)【多对多查询】
Contents 示例 多对多查询总结 resultMap总结 本文实现多对多查询,查询用户及用户购买商品信息。 示例 查询主表是:用户表 关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表:orders、orderdetail、items sql SELECT orders.*, user.username, user.sex,转载 2017-11-12 18:53:04 · 445 阅读 · 0 评论 -
Mybatis学习笔记(十四)【延迟加载】
Contents 使用association实现延迟加载 延迟加载思考 IDEA的debug小现象 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 延迟加载:先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。转载 2017-11-12 18:54:08 · 519 阅读 · 0 评论 -
Mybatis学习笔记(十五)【查询缓存之一级缓存】
Contents 查询缓存 一级缓存 一级缓存工作原理 一级缓存测试 一级缓存应用 本文主要讲mybatis的一级缓存,一级缓存是SqlSession级别的缓存。 查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 mybaits提供一级缓存,和二级缓存。 一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对转载 2017-11-12 18:55:09 · 453 阅读 · 0 评论 -
Mybatis学习笔记(十六)【查询缓存之二级缓存】
Contents 二级缓存原理 开启二级缓存 调用pojo类实现序列化接口 测试方法 useCache配置 刷新缓存(就是清空缓存) 应用场景和局限性 本文主要讲mybatis的二级缓存,二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。 二级缓存原理 首转载 2017-11-12 18:58:34 · 506 阅读 · 1 评论 -
Mybatis学习笔记(十七)【mybatis整合ehcache】
Contents 分布缓存 整合方法(掌握) 整合ehcache 加入ehcache的配置文件 ehcache是一个分布式缓存框架 分布缓存 我们系统为了提高系统并发,性能、一般对系统进行分布式部署(集群部署方式) 不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统开发。所以要使用分布式缓存对缓存数据进行集中管理。 mybatis无法实现分布式缓存,需要和其它分布式转载 2017-11-12 18:59:15 · 434 阅读 · 0 评论 -
Mybatis学习笔记(十八)【spring和mybatis整合】
Contents 整合思路 整合环境 sqlSessionFactory 原始dao开发(和spring整合后) mapper代理开发 遇到的问题 本文主要将如何将spring和mybatis整合,只是作简单的示例,没有使用Maven构建。并展示mybatis与spring整合后如何进行原始dao开发和mapper代理开发。 整合思路 需要spring通过单例方式管理SqlSess转载 2017-11-12 19:00:00 · 484 阅读 · 0 评论 -
Mybatis学习笔记(十九)【mybatis逆向工程】
Contents 下载逆向工程 使用方法 运行逆向工程 生成代码配置文件 执行生成程序 使用生成的代码 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..) 企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。 先附上官网链接:转载 2017-11-12 19:00:44 · 744 阅读 · 0 评论 -
Mybatis学习笔记(十)【订单商品数据模型分析】
Contents 数据模型分析思路 数据模型分析 订单商品数据模型建表sql 本文对接下来几篇博客中用到的数据模型进行分析,并附上建表sql文件和测试数据文件 数据模型分析思路 每张表记录的数据内容 分模块对每张表记录的内容进行熟悉,相当于你学习系统需求(功能)的过程。 每张表重要的字段设置 非空字段、外键字段 数据库级别表与表之间的关系 外键关系 表与表转载 2017-11-12 10:59:56 · 953 阅读 · 0 评论 -
Mybatis学习笔记(九)【动态sql】
Contents if判断 sql片段(重点) foreach标签 mybatis核心,对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 if判断 mapper.xml <!-- 用户信息综合查询 #{userCustom.sex}:取出pojo包装对象中性别值 ${userCustom.username}:取出pojo包装对象中转载 2017-11-11 19:30:29 · 672 阅读 · 0 评论 -
MyBatis.Net使用入门(三)
项目结构如下 Bookcs模型 Bookxml映射配置文件 日志配置文件log4netxml 数据库提供程序配置providersconfig Mybatis全局配置文件SqlMapconfig Programcs的入口程序 frmBookDetail窗体后台代码 frmBookView窗体后台代码 运行结果如图搜索结果 查看详细 更新数据 删除数据 其他相关文章项目结构如下:Book.cs模型:原创 2016-08-17 17:18:55 · 11867 阅读 · 0 评论 -
MyBatis.Net使用入门(一)
首先Models层模型如下: QueryUsageLog.cs,UsageLog.cs和UserInfo.cs public class QueryUsageLog { public string SessionId { get; set; } public DateTime StartDate { get; set; } publi原创 2016-08-15 23:25:51 · 15256 阅读 · 2 评论 -
Mybatis学习笔记(一)【对原生jdbc程序中的问题总结】
Contents jdbc编程步骤 问题总结 参考代码 本文总结jdbc编程的一般步骤,总结这样编程存在的问题,并附上典型地jdbc示例demo jdbc编程步骤 加载数据库驱动 创建并获取数据库链接 创建jdbc statement对象 设置sql语句 设置sql语句中的参数(使用preparedStatement) 通过statement执行sql并获取结果 对sql执行结果转载 2017-11-11 10:06:15 · 563 阅读 · 0 评论 -
Mybatis学习笔记(二)【mybatis概述】
Contents mybatis 介绍 框架原理 mybatis框架执行过程 mybatis开发dao的方法 输入映射和输出映射 动态sql 本文对mybatis做一个简单介绍,包括框架原理,执行过程,开发方法,输入输出映射以及动态sql,我会在后续的系列文章中一一详细说明 mybatis 介绍 mybatis是一个持久层的框架,是apache下的顶级项目。 mybatis托管到转载 2017-11-11 10:53:49 · 570 阅读 · 0 评论 -
Mybatis学习笔记(三)【入门程序一】
Contents 工程结构 Global logging configuration Console output… 映射文件 程序代码 总结 mybatis入门程序 工程结构 在IDEA中新建了一个普通的java项目,新建文件夹lib,加入jar包,工程结构如图。 log4j.properties # Global logging configuration log转载 2017-11-11 10:55:53 · 557 阅读 · 0 评论 -
Mybatis学习笔记(四)【入门程序二】
Contents 映射文件 程序代码 Error updating database. Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement ‘test.insertUser!selectKey’. I转载 2017-11-11 10:57:18 · 509 阅读 · 0 评论 -
Mybatis学习笔记(五)【开发dao方法】
Contents SqlSession使用范围 原始dao开发方法 dao接口 dao接口实现类 测试代码 总结原始dao开发问题 mapper代理方法 开发规范 代码 一些问题总结 本文讲解SqlSession,并对两种方法(原始dao开发和mapper代理开发)分别做简单展示 SqlSession使用范围 SqlSessionFactoryBuilder 通过SqlS转载 2017-11-11 10:58:51 · 473 阅读 · 0 评论 -
Mybatis学习笔记(六)【配置文件】
Contents properties(属性) settings(全局参数配置) typeAliases(类型别名) typeHandlers(类型处理器) mappers(映射配置) 本文主要讲解SqlMapConfig配置文件 参考mybatis – MyBatis 3 | Configuration SqlMapConfig.xml中配置的内容和顺序如下 prop转载 2017-11-11 19:27:38 · 434 阅读 · 0 评论 -
Mybatis学习笔记(七)【输入映射】
Contents 传递pojo的包装对象 Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘UserCustom’ in ‘class com.iot.mybatis.po.UserQueryVo’转载 2017-11-11 19:28:56 · 447 阅读 · 0 评论 -
Mybatis学习笔记(八)【输出映射】
Contents resultType 输出简单类型 输出pojo对象和pojo列表 resultMap resultMap使用方法 小结 本文主要讲解mybatis的输出映射。 输出映射有两种方式 resultType resultMap resultType 使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。 如转载 2017-11-11 19:29:52 · 453 阅读 · 0 评论 -
MyBatis.Net使用入门(二)
MyBatis使用入门(二)EntityModel模型层的类Customer.cs和Product.cs代码如下: public class Customer { public int CustomerID { get; set; } public string CustomerName { get; set; } public bool原创 2016-08-17 12:49:44 · 4145 阅读 · 0 评论
分享