Java Persistence with MyBatis
文章平均质量分 75
MyBatis是一个开源的框架,它是将我们原先所写的JDBC代码封装到配置有文件模板中,通过与简单的API应用与数据层进行交互。可能我们早先知道的是iBATIS,而MyBatis3就是在iBATIS的基础上重新设计的。提供了注解和映射配置文件。
Owen William
这个作者很懒,什么都没留下…
展开
-
MyBatis集合Spring(四)之使用Spring处理事务
1. Spring事务处理使用MyBatis,你可以写代码去控制事务操作。例如,提交事务和回滚事务。public Student createStudent(Student student){SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory().openSession();try {StudentMapper map翻译 2016-07-03 16:16:29 · 16095 阅读 · 4 评论 -
MyBatis集合Spring(三)之mapper
我们可以配置Mapper接口作为Spring使用的MapperFactoryBean的Bean。public interface StudentMapper{@Select("select stud_id as studId, name, email, phone fromstudents where stud_id=#{id}")Student findStudentById(Int翻译 2016-07-03 16:11:50 · 11053 阅读 · 0 评论 -
MyBatis集合Spring(二)之SqlSession
一旦我们配置了SqlSessionFactory的bean,我们需要配置SqlSessionTemplate的bean,它是Spring的Bean中线程安全的对象,包含了线程安全的SqlSession对象。因为SqlSessionTemplate提供了线程安全的SqlSession对象,你可以在Spring Bean中分享相同的SqlSessionTemplate.概念上来说,SqlSession翻译 2016-07-03 16:07:04 · 2433 阅读 · 0 评论 -
MyBatis集合Spring(一)之在MyBatis中配置Spring的应用
1.安装应用如果你有用Maven工具,你可以在pom.xml文件中配置下面的信息。org.mybatismybatis-spring1.2.0org.springframeworkspring-context-support3.1.3.RELEASEcommons-loggingcommons-loggingorg.springframeworkspri翻译 2016-07-03 16:03:50 · 1631 阅读 · 0 评论 -
MyBatis注解应用之动态SQL语句
有时候,我们需要在输入的标准下,创建动态的查的语言。MyBatis提供了多个注解如:@InsertProvider,@UpdateProvider,@DeleteProvider和@SelectProvider,这些都是建立动态语言和让MyBatis执行这些语言。现在让我们来看一下如何使用@ SelectProvider来创建简单的SELECT映射的例子。创建一个TutorDynaSqlPro翻译 2016-07-03 16:01:16 · 63227 阅读 · 4 评论 -
Mybatis的注解应用之关系映射
我们可以应用内联的或运用@Resuts注解来映射查询的结果。让我们看一下如何运用@Results注解来执行SELECT查询。package com.owen.mybatis.mappers;public interface StudentMapper{@Select("SELECT * FROM STUDENTS")@Results({@Result(id=true, column=翻译 2016-07-03 15:55:06 · 29459 阅读 · 5 评论 -
Mybatis的注解应用之映射声明
MyBatis提供了多种的注解映射,如SELECT、UPDATE、INSERT和DELETE。让我主详细来看一下这些映射的应用。1. @Insert我们可以使用@Insert注解来声明一个INSERT的映射。package com.owen.mybatis.mappers;public interface StudentMapper{@Insert("INSERT INTO S翻译 2016-07-03 15:49:50 · 2987 阅读 · 0 评论 -
MyBatis的其它方法
除了前面介绍的数据库的简单应用之外,MyBatis还提供了多种的特性,这些都是非常有用的。如,以分页加载数据,储蓄或查看CLOB/BLOB类型的数据,和操作枚举类型的值等。让我们来看一下这些特性。1. 操作枚举类型MyBatis提供了使用枚举类型的应用。想像一下,现在STUDENTTS表中拥有一个性别的字段是gender,这个字段的值可是是MALE或FEMALE。所以STUDENT表中这个翻译 2016-07-03 15:44:24 · 707 阅读 · 0 评论 -
MyBatis使用动态SQL语句
有时候,固定的SQL语句不能够满足我们的应用需求。我们需要在标准的基础上建立动态的查询语句。例如,在WEB的应用程序中,在标准的基础上,提供一个或多个输入选项或执行搜索。为了执行这些函数,我们需要在可选项的基础上建立动态查询语句。如果用户输入了多个标准的值,我们需要添加到WHERE的语句后。MyBatis提供子这些参数这实现动态语言:、、、和。1. if条件查询r的元素可以被嵌入到SQL的翻译 2016-07-03 15:36:13 · 2780 阅读 · 0 评论 -
MyBatis的ResultMaps之一对多关系
1. 一对多的关系在我们的例子中,我们的教师可以教一个或多个的课程,这就意味着教师与课程之间的关系是一对多的。我们可以运用元素来获取一对多的关系。教师的表信息如下:课程表信息如下:在上面的表信息中,我们的教师John拥有一门课程,但是我们的教师Ying却有两门课程。下面是教师和课程的JavaBean。public class Course{private翻译 2016-07-03 15:30:41 · 6960 阅读 · 4 评论 -
MyBatis的ResultMaps之一对一关系
1. 一对一关系在我们domain的包中,每一个student都关联了一个地址。STUDENT的表中拥有ADDR_ID的列这个是作为ADDRESS表的外主键。STUDENT表的信息如下:ADDRESS表的信息如下:让我们来看一下如何通过获取Student信息包括Adress信息。public class Address{private Integer a翻译 2016-07-03 15:24:19 · 2522 阅读 · 2 评论 -
MyBatis的ResultMaps
ResultMaps经常用于映射SQL的查询语句,将查询的结果与JavaBean的参数相对应。我们可以定义ResultMaps和从多个查询的语句中引用它的resultMap查询。MyBatis的ResultMapps是有非常强大的特性,你可以用它查询一对一、一对多的表关系。可能,读者对这样的表述不是很明白,学习了接下的知积之后你就可以明白了。1. 简单的ResultMaps下面的例子是翻译 2016-07-03 15:16:17 · 789 阅读 · 0 评论 -
MyBatis之使用XML配置SQL映射(二)CRUD映射配置
对于不同的声明风格,MyBatis提供了多个同的参数,例如:SELECT、INSERT、UPDATE和DELETE。让我们看看这些是如何配置的。1. 声明INSERT我们在Mapper XML的文件中使用来配置INSERT的语言。如下:INSERT INTO STUDENTS(STUD_ID,NAME,EMAIL, PHONE)VALUES(#{studId},#{name},#{翻译 2016-07-02 23:32:16 · 1958 阅读 · 0 评论 -
MyBatis之使用XML配置SQL映射(一)
1. 前言关系数据库和SQL都是经过时间考验,都提供数据储蓄机制。不像其它的ORM框架,如Hibernate,MyBatis鼓励使用SQL,而对于开发都来说,SQL的执行是被隐藏。同时MyBatis消除了许多繁琐的配置模板。 在代码中使用嵌套的SQL语句是一个不好的做法,同时在后期维护也昌很难。而MyBatis配置SQL的声明使用映射XML的文件或注解,这样做有一定的好处。在这一章节翻译 2016-07-02 23:20:39 · 4571 阅读 · 0 评论 -
定制MyBatis的日志
1.日志记录MyBatis的日志记录主要是运用内部的LoggerFactory。内部的LoggerFactory的记录日志,实际是委托给第三方的架包,如下给出的所示,按照优先级来列出:1) SLF4J2) Apahe Commons Logging3) Log4j24) Log4j5) JDK loggi翻译 2016-07-02 23:17:44 · 867 阅读 · 0 评论 -
MyBatis基于Java API配置
在前面的章节中,我们已经探讨了多样的MyBatis配置的参数,像environments,typeAliases,和typeHandler,和如何去运用XML的文件 来配置它们。尽管你想运用基于JavaAPI来配置MyBatis,最好就是你已经理解了前面笔者介绍过的关于MyBatis的配置文件各个参数的意思。在这一节中,我们将会涉及到类的注解使用前面的配置。 MyBatis的SqlSess翻译 2016-07-02 23:16:03 · 5216 阅读 · 0 评论 -
MyBatis的XML配置文件(三)
在这一节中,笔者继续向大家介绍有关MyBatis的XML配置文件 。这里一节介绍的内容是比较重要的,也是MyBatis中较为有意思的内容。1. typeAliases的参数在SQL的映射文件的配置中,我们需要在resultType和parameterType的属性中,给出完整的限定名的JavaBean对象。如下所示:<select id="findStudentById" param翻译 2016-07-02 23:06:22 · 842 阅读 · 0 评论 -
MyBatis的XML配置文件(二)
这一节我们继续上一节的知道,笔者将向大家介绍TransactionManager、Propertis、setting和Mappers的参数1. TransactionManager参数MyBatis提供了两个TransactionManager的types:JDBC和MANAGED。1) TransactionManager的types为JDBC时,那么应用程序就用去负责翻译 2016-07-02 22:58:10 · 822 阅读 · 0 评论 -
MyBatis的XML配置文件(一)
MyBatis的组成中,主要的是SqlSessionFactory的类,这个类会动词调用SqlSession和执行SQL的声明映射。SqlSessionFactory的对象创建可以基于XML的配置或Java的API笔者将向大家介绍MyBatis的配置文件中的配置参数,像dataSource、environment、gypeAlisea、typeHandler和SQL的映射。从这一节开始,笔翻译 2016-07-02 22:55:32 · 1045 阅读 · 0 评论 -
开启MyBatis(三)工作原理
1. 说明在这一节中,我们继承上一节的内容来说明,MyBatis是如工作的。还有就是需要读者创建其它的几张表用于我们下一节学习用的。2. MyBatis是如何工作?首先,我们需要配置MyBatis的主要文件,mybatis-cionfig.xml;这份文件主要是JDBC连接的参数和配置的MapperXML文件的定义,例如,定义了StudentMapper.xml的文件,需要包含在其中。翻译 2016-07-02 22:52:32 · 816 阅读 · 0 评论 -
开启MyBatis(二)创建工程
1.说明在本节的学习中,笔者将会带领读者使用maven来创建项目,当然你也可以使用Gradle,这些都是架包的管理,关于这些工具是如何使用,笔者在这里就不给出了,读者可以自己去网上查找。同时笔者版本管理是用Git,读者也可以研究如何使用。所以笔者的源码都放在了GitHub上了,后续笔者会告诉你下载的地址。2.创建STUDENTS表下面是创建表的SQL语句:CREATE TABLE翻译 2016-07-02 22:48:45 · 1619 阅读 · 0 评论 -
开启MyBatis(一)
1. 什么是MyBstis? MyBatis是一个开源的框架,它是将我们原先所写的JDBC代码封装到配置有文件模板中,通过与简单的API应用与数据层进行交互。可能我们早先知道的是iBATIS,而MyBatis3就是在iBATIS的基础上重新设计的。提供了注解和映射配置文件。我之所以会选择MyBatis,最主要有原因还是因为,MyBatis简单的容易使用。在笔者看来,它还有一个原因就是翻译 2016-07-02 22:39:24 · 1088 阅读 · 0 评论