mybatis
我可能是个假开发
专注Java开发
展开
-
mybatis--介绍
mybatis1、mybatis是什么MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注原创 2017-02-07 13:49:17 · 385 阅读 · 0 评论 -
Mybatis查询实例,sql中的in在Mybatis中怎么写--以list为查询条件
在service中把参数放到HashMap中List list = new ArrayList();list.add("x");list.add("y");list.add("z");String s = "A"Date d = new Date();HashMap param = new HashMap();param.put("list",list);param.p转载 2017-03-16 14:30:27 · 2781 阅读 · 0 评论 -
第一个MyBatis程序
第一个MyBatis程序一、基本程序 需求:实现将student信息写入到DB中1.定义实体类:public class Student { private Integer id; private String name; private int age; private double score; //无参、带参构造器 //getter、sett原创 2017-06-08 09:26:17 · 560 阅读 · 0 评论 -
MyBatis--主配置文件详解
MyBatis–主配置文件详解主配置文件可以随便命名,其主要完成以下几个功能:注册存放DB连接四要素的属性文件注册实体类的权限定性类名的别名配置MyBatis运行环境,即数据源与事务管理器注册映射文件MyBatis.xml:<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis原创 2017-06-08 10:28:16 · 4766 阅读 · 0 评论 -
MyBatis--单表的CURD操作(原始dao方式)
MyBatis–单表的CURD操作(原始dao方式)CURD操作,即指对数据库中实体对象的增create、改Update、查Read、删Delete操作一、自定义Dao接口实现类搭建环境Dao接口:public interface IStudentDao { //插入 void insertStudent(Student student); void insertStuden原创 2017-06-08 19:48:29 · 683 阅读 · 0 评论 -
单表的CURD操作(使用mapper动态代理)
单表的CURD操作(使用mapper动态代理)MyBatis框架抛开dao的实现类,直接定位到映射文件mapper的相应sql语句,对DB进行操作。这种dao的实现方式成为mapper的动态代理方式。mapper动态代理方式无需程序员实现dao接口。接口是由MyBatis结合映射文件自动生成的动态代理实现的。1.映射文件的namespace属性值一般情况下,一个dao接口的实现类方法使用的是同一个s原创 2017-06-09 13:19:45 · 606 阅读 · 0 评论 -
MyBatis--关联查询
MyBatis–关联查询当查询内容涉及到具有关联关系的多个表时,就需要使用关联查询。根据表与表间的关联关系的不同,关联查询分为四种:一对一关联查询一对多关联查询多对一关联查询多对多关联查询一、一对多关联查询一对多关联查询是指,在查询一对象的时候,同时将其所关联的多放对象也都查询出来。例:国家Country与部长Minister间的一对多关系1.定义实体若定义的是双向关联,即双方的属性中均有原创 2017-06-10 10:33:10 · 757 阅读 · 0 评论 -
MyBatis--延迟加载
MyBatis–延迟加载MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力。 注意:MyBatis的延迟加载只是对关联对象的查询有延迟设置,对于主加载对象都是直接执行查询语句的。一、关联对象加载时机MyBatis根据对关联对象查询的select语句的执行时机,分为三种类型:直接加载、侵入式加载与深度原创 2017-06-10 13:34:49 · 983 阅读 · 0 评论 -
MyBatis--查询缓存
MyBatis–查询缓存查询缓存的使用,主要是为了提高查询访问速度。将用户对同一数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度。MyBatis的查询缓存机制,根据缓存区的作用域(生命周期)可划分为两种:一级缓存与二级缓存一、一级查询缓存MyBatis一级缓存是基于org.apache.ibatis.cache.impl.PerpetualCache类的HashMap本地原创 2017-06-10 19:36:32 · 867 阅读 · 0 评论 -
mybatis--整合spring
mybatis整合spring一、整合思路1、 数据源信息交给spring管理2、 SqlSessionFactory交给spring进行单例管理3、 由spring来管理原始dao的实现类或者mapper代理的代理类。二、需求使用原始dao方式和mapper代理方式实现以下功能:根据用户ID查询商品信息三、工程搭建Mysql的驱动包...原创 2017-02-09 21:38:45 · 465 阅读 · 1 评论 -
mybatis--逆向工程
逆向工程1、什么是逆向工程Mybatis提供了一个逆向工程工具,通过逆向工程,可以帮助程序员根据单表来生成po类、mapper映射文件、mapper接口。2、下载逆向工程https://github.com/mybatis/generator/releases/tag/mybatis-generator-1.3.23、创建逆向工程4、创建G...原创 2017-02-09 22:31:46 · 796 阅读 · 0 评论 -
mybatis--入门程序
入门程序需求:对用户信息的增删改查操作。1、 根据用户ID来查询用户信息;2、 根据用户名称来模糊查询用户信息列表;3、 添加用户4、 删除用户(练习)5、 修改用户(练习)1、环境准备l Jdk环境:jdk1.7.0_72l Ide环境:eclipse indigol 数据库环境:MySQL5.1l Mybatis:3.2...原创 2017-02-07 18:04:36 · 502 阅读 · 0 评论 -
mybatis--开发Dao--原始dao方式和Mapper代理方式
Mybatis开发daoMybatis在项目中主要使用的地方就是开发dao(数据访问层),有两种方式:原始dao开发方式、mapper代理开发方式(推荐)。需求:1、 根据用户ID来查询用户信息;2、 根据用户名称来模糊查询用户信息列表;3、添加用户;一、原始dao开发方式1、思路需要写dao接口和dao实现类。2、编程步骤1、 根据需求创建...原创 2017-02-08 12:59:44 · 8996 阅读 · 0 评论 -
mybatis--全局配置文件详解
Mybatis全局配置文件SqlMapConfig.xml是mybatis的全局配置文件,它的名称可以是任意命名的。一、全局配置文件内容SqlMapConfig.xml的配置内容和顺序如下(顺序不能乱):Properties(属性)Settings(全局参数设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory...原创 2017-02-08 14:54:37 · 1699 阅读 · 0 评论 -
mybatis--映射文件详解
Mybatis映射文件一、输入映射parameterType指定输入参数的java类型,可以使用别名或者类的全限定名。它可以接收简单类型、POJO、HashMap。1、传递简单类型根据用户ID查询用户信息:<select id="findUserById" parameterType="int" resultType="com.hcx.mybatis.po.U...原创 2017-02-08 17:10:32 · 4692 阅读 · 4 评论 -
mybatis与hibernate的区别及各自应用场景
mybatis与hibernate的区别及各自应用场景Mybatis技术特点:1、 通过直接编写SQL语句,可以直接对SQL进行性能的优化;2、 学习门槛低,学习成本低。只要有SQL基础,就可以学习mybatis,而且很容易上手;3、 由于直接编写SQL语句,所以灵活多变,代码维护性更好。4、 不能支持数据库无关性,即数据库发生变更,要写多套代码进行支持,移植性不好原创 2017-02-08 17:15:26 · 2660 阅读 · 0 评论 -
mybatis--高级结果映射之一对一、一对多、多对多
高级结果映射一、数据模型分析1、 明确每张表存储的信息2、 明确每张表中关键字段(主键、外键、非空)3、 明确数据库中表与表之间的外键关系4、 明确业务中表与表的关系(建立在具体的业务)二、一对一映射1、需求查询订单信息,关联查询用户信息2、SQL语句主信息:orders从信息:userSELECT orders....原创 2017-02-09 13:42:37 · 3615 阅读 · 0 评论 -
mybatis--延迟加载
延迟加载一、什么是延迟加载延迟加载又叫懒加载,也叫按需加载。也就是说先加载主信息,在需要的时候,再去加载从信息。在mybatis中,resultMap标签的association标签和collection标签具有延迟加载的功能。二、案例1、需求查询订单信息,关联查询用户信息1、 创建一个statement来查询订单信息2、 创建一个statement...原创 2017-02-09 15:20:29 · 440 阅读 · 0 评论 -
mybatis--查询缓存
查询缓存一、mybatis的缓存理解Mybatis的缓存,包括一级缓存和二级缓存:一级缓存指的就是sqlsession,在sqlsession中有一个数据区域,是map结构,这个区域就是一级缓存区域。一级缓存中的key是由sql语句、条件、statement等信息组成一个唯一值。一级缓存中的value,就是查询出的结果对象。二级缓存指的就是同一个namespace下...原创 2017-02-09 19:42:41 · 1617 阅读 · 0 评论 -
MyBatis--注解式开发
MyBatis–注解式开发MyBatis的注解,主要是用于替换映射文件。而映射文件中无非存放着增删改查的sql映射标签。所以,MyBatis注解,就是替换映射文件中的sql标签。1.@Insert其value属性用于指定要执行的insert语句。2.@SelectKey用于替换xml中的标签,用于返回新插入数据的id值。@SelectKey(statement="select @@identity"原创 2017-06-10 20:23:49 · 825 阅读 · 0 评论