
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 · 3344 阅读 · 0 评论 -
Mybatis的介绍和基本使用
1 数据库操作框架的历程1.1 JDBCJDBC(Java Data Base Connection,Java数据库连接)是用于执行SQL语句的Java API,可以作为多种数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。优点:运行期:快捷。高效缺点:编辑器:代码量大、繁琐异常处理,不支持数据库跨平台1.2 DBUtils1.3 HibernateHibernate 是由 Gav转载 2020-12-04 11:32:06 · 460 阅读 · 0 评论 -
Mybatis学习笔记(十一)【一对一查询】
ContentsresultType实现resultMap实现resultType和resultMap实现一对一查询小结本文使用两种方式(resultType和resultMap)实现一对一查询,查询订单信息,关联查询创建订单的用户信息resultType实现sql语句确定查询的主表:订单表确定查询的关联表:用户表关联查询使用内连接?还是外连接?由于转载 2017-11-12 18:49:55 · 396 阅读 · 0 评论 -
Mybatis学习笔记(十二)【一对多查询】
Contents示例小结本文实现一对多查询,查询订单及订单明细的信息示例sql确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可。SELECT orders.*, user.username, user.sex, user.address, orderdetail.id orderdetai转载 2017-11-12 18:52:09 · 401 阅读 · 0 评论 -
Mybatis学习笔记(十三)【多对多查询】
Contents示例多对多查询总结resultMap总结本文实现多对多查询,查询用户及用户购买商品信息。示例查询主表是:用户表关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表:orders、orderdetail、itemssqlSELECT orders.*, user.username, user.sex,转载 2017-11-12 18:53:04 · 385 阅读 · 0 评论 -
Mybatis学习笔记(十四)【延迟加载】
Contents使用association实现延迟加载延迟加载思考IDEA的debug小现象resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。延迟加载:先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。转载 2017-11-12 18:54:08 · 453 阅读 · 0 评论 -
Mybatis学习笔记(十五)【查询缓存之一级缓存】
Contents查询缓存一级缓存 一级缓存工作原理一级缓存测试一级缓存应用本文主要讲mybatis的一级缓存,一级缓存是SqlSession级别的缓存。查询缓存mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。mybaits提供一级缓存,和二级缓存。一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对转载 2017-11-12 18:55:09 · 385 阅读 · 0 评论 -
Mybatis学习笔记(十六)【查询缓存之二级缓存】
Contents二级缓存原理开启二级缓存调用pojo类实现序列化接口测试方法useCache配置刷新缓存(就是清空缓存)应用场景和局限性本文主要讲mybatis的二级缓存,二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。二级缓存原理首转载 2017-11-12 18:58:34 · 415 阅读 · 1 评论 -
Mybatis学习笔记(十七)【mybatis整合ehcache】
Contents分布缓存整合方法(掌握) 整合ehcache加入ehcache的配置文件ehcache是一个分布式缓存框架分布缓存我们系统为了提高系统并发,性能、一般对系统进行分布式部署(集群部署方式)不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统开发。所以要使用分布式缓存对缓存数据进行集中管理。mybatis无法实现分布式缓存,需要和其它分布式转载 2017-11-12 18:59:15 · 372 阅读 · 0 评论 -
Mybatis学习笔记(十八)【spring和mybatis整合】
Contents整合思路整合环境sqlSessionFactory原始dao开发(和spring整合后)mapper代理开发遇到的问题本文主要将如何将spring和mybatis整合,只是作简单的示例,没有使用Maven构建。并展示mybatis与spring整合后如何进行原始dao开发和mapper代理开发。整合思路需要spring通过单例方式管理SqlSess转载 2017-11-12 19:00:00 · 418 阅读 · 0 评论 -
Mybatis学习笔记(十九)【mybatis逆向工程】
Contents下载逆向工程使用方法 运行逆向工程生成代码配置文件执行生成程序使用生成的代码mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..)企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。先附上官网链接:转载 2017-11-12 19:00:44 · 661 阅读 · 0 评论 -
Mybatis学习笔记(十)【订单商品数据模型分析】
Contents数据模型分析思路数据模型分析订单商品数据模型建表sql本文对接下来几篇博客中用到的数据模型进行分析,并附上建表sql文件和测试数据文件数据模型分析思路每张表记录的数据内容分模块对每张表记录的内容进行熟悉,相当于你学习系统需求(功能)的过程。每张表重要的字段设置非空字段、外键字段数据库级别表与表之间的关系外键关系表与表转载 2017-11-12 10:59:56 · 869 阅读 · 0 评论 -
Mybatis学习笔记(九)【动态sql】
Contentsif判断sql片段(重点)foreach标签mybatis核心,对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。if判断mapper.xml<!-- 用户信息综合查询 #{userCustom.sex}:取出pojo包装对象中性别值 ${userCustom.username}:取出pojo包装对象中转载 2017-11-11 19:30:29 · 601 阅读 · 0 评论 -
MyBatis.Net使用入门(三)
项目结构如下Bookcs模型Bookxml映射配置文件日志配置文件log4netxml数据库提供程序配置providersconfigMybatis全局配置文件SqlMapconfigProgramcs的入口程序frmBookDetail窗体后台代码frmBookView窗体后台代码运行结果如图搜索结果查看详细更新数据删除数据其他相关文章项目结构如下:Book.cs模型:原创 2016-08-17 17:18:55 · 11730 阅读 · 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 · 15033 阅读 · 2 评论 -
Mybatis学习笔记(一)【对原生jdbc程序中的问题总结】
Contentsjdbc编程步骤问题总结参考代码本文总结jdbc编程的一般步骤,总结这样编程存在的问题,并附上典型地jdbc示例demojdbc编程步骤加载数据库驱动创建并获取数据库链接创建jdbc statement对象设置sql语句设置sql语句中的参数(使用preparedStatement)通过statement执行sql并获取结果对sql执行结果转载 2017-11-11 10:06:15 · 500 阅读 · 0 评论 -
Mybatis学习笔记(二)【mybatis概述】
Contentsmybatis 介绍框架原理mybatis框架执行过程mybatis开发dao的方法输入映射和输出映射动态sql本文对mybatis做一个简单介绍,包括框架原理,执行过程,开发方法,输入输出映射以及动态sql,我会在后续的系列文章中一一详细说明mybatis 介绍mybatis是一个持久层的框架,是apache下的顶级项目。mybatis托管到转载 2017-11-11 10:53:49 · 496 阅读 · 0 评论 -
Mybatis学习笔记(三)【入门程序一】
Contents工程结构 Global logging configurationConsole output…映射文件程序代码总结mybatis入门程序工程结构在IDEA中新建了一个普通的java项目,新建文件夹lib,加入jar包,工程结构如图。log4j.properties# Global logging configurationlog转载 2017-11-11 10:55:53 · 497 阅读 · 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 · 454 阅读 · 0 评论 -
Mybatis学习笔记(五)【开发dao方法】
ContentsSqlSession使用范围原始dao开发方法 dao接口dao接口实现类测试代码总结原始dao开发问题mapper代理方法 开发规范代码一些问题总结本文讲解SqlSession,并对两种方法(原始dao开发和mapper代理开发)分别做简单展示SqlSession使用范围SqlSessionFactoryBuilder通过SqlS转载 2017-11-11 10:58:51 · 409 阅读 · 0 评论 -
Mybatis学习笔记(六)【配置文件】
Contentsproperties(属性)settings(全局参数配置)typeAliases(类型别名)typeHandlers(类型处理器)mappers(映射配置)本文主要讲解SqlMapConfig配置文件 参考mybatis – MyBatis 3 | ConfigurationSqlMapConfig.xml中配置的内容和顺序如下prop转载 2017-11-11 19:27:38 · 361 阅读 · 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 · 383 阅读 · 0 评论 -
Mybatis学习笔记(八)【输出映射】
ContentsresultType 输出简单类型输出pojo对象和pojo列表resultMap resultMap使用方法小结本文主要讲解mybatis的输出映射。输出映射有两种方式resultTyperesultMapresultType使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。如转载 2017-11-11 19:29:52 · 373 阅读 · 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 · 4015 阅读 · 0 评论