mybatis
文章平均质量分 67
happy_meng
人生若只如初见
展开
-
MyBatis开发dao方法
MyBatis开发dao方法1.SqlSession在代码中的使用场合 使用场合:sqlSession在使用时由SqlSessionFactory生成创建一个Sqlsession会话对象,对象在代码中可以定义为成员变量、方法形参、方法的局部变量。1.1.SqlSessionFactorySqlSessionFactory作为会话工厂,创建sqlSession,可以将Sql原创 2018-01-11 17:57:12 · 189 阅读 · 0 评论 -
MyBatis入门案例(一)
MyBatis入门案例(一)需求实现以下功能:根据用户id查询一个用户信息根据用户名称模糊查询用户信息列表添加用户更新用户删除用户需求分析:根据用户id查询一个用户信息:SELECT * FROM USER WHERE id=1根据用户名称模糊查询用户信息列表:SELECT * FROM USER WHERE username LIKE '%张%'根据用户原创 2018-01-06 13:27:38 · 251 阅读 · 0 评论 -
MyBatis入门案例(二)
MyBatis入门案例(二)根据用户名称模糊查询用户信息列表SqlMapConfig.xml SqlMapConfig.xml是mybatis的全局配置文件,一个系统编写一个即可。(可参考MyBatis入门案例(一))mapper.xml映射文件 使用${}拼接符号 上面这种${}方法不能防止sql注入字符串拼接方式LIKE CONCAT(CONCAT('%',原创 2018-01-05 14:48:45 · 242 阅读 · 0 评论 -
MyBatis和Hibernate的本质 区别
MyBatis和Hibernate的本质 区别mybatis:学习成本低,入门门槛低,mybatis需要程序员自己写sql,对sql修改和优化就比较灵活。 mybatis是不完全的 ORM,mybatis需要程序员编写sql,但是mybatis也存在映射(输入映射、输出映射) 适用场景:需求变化较快的项目开发,比如:互联网项目、电商hibernate:学习成本高,入门门槛高,hibernate是原创 2018-01-04 19:26:48 · 757 阅读 · 0 评论 -
MyBatis入门案例总结
MyBatis入门案例总结#{}和${} #{}:表示一个占位符号,很好去避免sql注入原理:将占位符位置的整个参数和sql语句两部分提交给数据库,数据库去执行sql语句,去表中匹配所有的记录是否和整个参数是否一致。 #{}要获取输入参数的值:如果输入参数是简单类型,#{}中可以写value或其它名称如果是pojo对象类型,#{]通过OGNL方式去获取,表达式就是:属性.属性.原创 2018-01-05 18:37:07 · 438 阅读 · 0 评论 -
MyBatis逆向工程
MyBatis逆向工程1.什么是mybatis逆向工程在使用mybatis时需要程序员自己编写sql语句,针对单表的sql语句量是很大的,mybatis官方提供了一种根据数据库表生成mybatis执行代码的工具,这个工具就是一个逆向工程。 逆向工程:针对数据库单表—->生成代码(mapper.xml、mapper.java、pojo。。)mybatis-generator-core-1.3.2.j原创 2018-01-14 19:08:39 · 282 阅读 · 0 评论 -
MyBatis与Spring整合
MyBatis与Spring整合在实际开发中需要将mybaits与spring进行整合开发,让spring管理mybatis的SqlSessionFactory及dao(原始dao实现类及mapper接口代理对象)1.搭建整合环境导入jar包(mybaits-spring的整合包(由mybatis提供)) 配置文件 2.原始dao开发2.1.SqlMapConfig.xml<?xml ver原创 2018-01-14 18:26:28 · 218 阅读 · 0 评论 -
MyBatis之查询缓存
MyBatis之查询缓存什么是查询缓存?将从数据库查询的数据存储到内存中缓存起来,这样就不用从数据库中查询数据而从缓存中查询,提高查询的速度,减少对数据库的访问。mybatis提供查询缓存包括一级缓存、和二级缓存。1.一级缓存和二级缓存原理一级缓存是针对每一个sqlSession进行缓存。每个sqlSession对象中使用Map存储一级缓存数据,sqlSession对象销毁其中一级缓存数据不存在了原创 2018-01-14 18:06:29 · 348 阅读 · 0 评论 -
MyBatis之关联查询
MyBatis之关联查询mybatis实现表与表之间的查询,将查询结果集进行映射,主要是resultMap完成高级映射,了解resultMap的使用方法。1.数据模型订单商品模型: 目标:分析表与表之间的关系。分析步骤: 1、按模块去分析表,不要将系统全部表一次性分析 2、了解每个表存储了什么业务数据 3、了解表中关键字段(主键、外键、索引字段、非空字段) 4、了解表与表之间数据库级别原创 2018-01-12 18:03:51 · 275 阅读 · 0 评论 -
Mybatis入门
Mybatis入门1.mybatis介绍mybatis原名是ibatis,是apache的开源项目。ibatis改成mybatis不仅仅是名称的改变,mybatis在功能上也有升级。mybatis是一个持久层的框架,mybatis框架和关系数据库进行交互,将数据持久化到关系数据中。mybatis目前 在github(https://github.com/mybatis/mybatis-3/re原创 2018-01-04 14:16:04 · 205 阅读 · 0 评论 -
MyBatis之动态sql
MyBatis之动态sql1.什么是动态sqlmybatis重点是对sql语句是灵活的组织,由程序员编写sql语句,通过配置方式完成输入、输出映射。mybatis通过标签拼接sql语句,去组织sql 语句。2.需求对用户综合查询statement定义进行优化,使用动态sql。1、用户查询条件可以灵活拼接,当用户输入查询条件再拼接到sql中。 2、对mapper.xml中重复的sql抽取统一维护。3原创 2018-01-12 16:44:13 · 207 阅读 · 0 评论 -
MyBatis之输出映射
MyBatis之输出映射1.resultType和resultMap介绍resultType:指定输出映射类型,包括:java简单类型 string/int/float…、包括自定义的pojo。如果指定自定义pojo,表示单条记录所映射pojo类型。 映射规则要求:sql查询列名和pojo的属性名一致方可映射成功。通过测试发现:当所有列名和pojo属性名不一致,映射的对象为null 只要有一原创 2018-01-12 16:30:58 · 262 阅读 · 0 评论 -
MyBatis之输入映射
MyBatis之输入映射1.传递pojo包装对象1.1需求 用户综合条件查询功能。使用mybatis实现用户查询列表,有很多查询条件(比如:商品信息、订单信息)。如何将综合查询条件传到mybatis的statement中,要使用包装对象传这些参数1.2定义一个包装对象 简单理解为:pojo包装了pojo 1.3.mapper.xml 1.4.mapper.java 2.传递hashmapS原创 2018-01-12 15:52:49 · 214 阅读 · 0 评论 -
MyBatis之SqlMapConfig.xml
MyBatis之SqlMapConfig.xml1.介绍SqlMapConfig.xml是mybatis的全局配置文件,mybatis通过它创建SqlSessionFactory配置内容:properties(属性)settings(全局配置参数)typeAliases(类型别名)typeHandlers(类型处理器)plugins(插件)environments(环境集合属性对象)原创 2018-01-12 14:35:01 · 230 阅读 · 0 评论 -
springmvc和mybatis整合
IDEA Maven springmvc和mybatis整合1.需求实现商品查询列表,从mysql数据库查询商品信息。2.整合思路整合思路如下: dao层: mybatis+spring 目标:使用spring对sqlSessionFactory进行管理 使用spring和mybatis整合包中的mapper扫描器对mapper接口进行扫原创 2018-01-17 21:48:40 · 250 阅读 · 0 评论