MyBatis
suwu150
业精于勤,荒于嬉;行成于思,毁于随;磨刀不误砍柴工。
展开
-
Mybatis增删改查实例
Mybatis增删改查实例Oracle数据库中出现表已创建,则表示创建成功,如果出现名称已被使用,则可在建表之前进行删除操作:drop table students;或者进行级联删除drop table students cascade constraints;然后再重新创建项目中引入mybatis的核心包以及可选的依赖包 文件下载:mybatis包下载 最新版下载:https://github.com/mybatis/mybatis-3/releases 必须的包 mybatis-3.3.0.j原创 2016-10-22 13:51:04 · 27720 阅读 · 12 评论 -
mybatis框架中一般需要的两种文件
mybatis框架中一般需要俩种文件: 第一种:mybatis的配置文件: mybatis-config.xml,其中包括数据库连接信息,类型别名,映射文件路径等等特点:名字一般是固定的位置是src下面 示例: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-转载 2016-10-07 17:24:35 · 702 阅读 · 0 评论 -
MyBatis中的注解
MyBatis中的注解 之前我们都是在映射器MapperXML配置文件中配置映射语句的。除此之外MyBatis也支持使用注解来配置映射语句。当我们使用基于注解的映射器接口时,我们不再需要在XML配置文件中配置了。如果你愿意,你也可以同时使用基于XML和基于注解的映射语句。 使用Person进行测试 drop table person; create table person( id number primary key, name varchar2(15), age number );public cl转载 2016-10-25 00:07:06 · 9761 阅读 · 0 评论 -
mybatis的一些特殊功能
4.1 处理枚举类型 MyBatis支持持久化enum类型属性。假设t_user表中有一列gender(性别)类型为 varchar2(10),存储 MALE 或者 FEMALE 两种值。并且,Student对象有一个enum类型的gender 属性,如下所示: public enum Gender { MALE,FEMALE } 默认情况下MyBatis使用EnumTypeHandler来处理enum类型的Java属性,并且将其存储为 enum值的名称。你不需要为此做任何额外的配转载 2016-10-24 23:08:09 · 2764 阅读 · 0 评论 -
Mybatis中动态SQL
Mybatis中动态SQL有时候,静态的SQL语句并不能满足应用程序的需求。我们可以根据一些条件,来动态地构建 SQL语句 例如,在Web应用程序中,有可能有一些搜索界面,需要输入一个或多个选项,然后根据这些已选择的条件去执行检索操作。在实现这种类型的搜索功能,我们可能需要根据这些条件来构建动态的SQL语句。如果用户提供了任何输入条件,我们需要将那个条件添加到SQL语句的WHERE子句中。MyBatis通过使用<if>,<choose>,<where>,<foreach>,<trim>元素提供了对构造动态S转载 2016-10-24 00:49:51 · 650 阅读 · 0 评论 -
Mybatis中多对多映射详解
Mybatis中多对多映射详解 对于在mybatis中的多对多的处理,其实我们可以参照一对多来解决注意】 注:这是从student这边出发所做的一些操作,从course一边开始操作是一样的,因为俩者的关系是多对多(对称的). 同时不论是一对一还是一对多还是多对多,都不能在mybatis中进行级联保存、更新、删除,我们需要使用sql语句控制每一步操作 <resultMap id="StudentResultWithCourses" type="Student" extends="St原创 2016-10-23 22:05:23 · 12678 阅读 · 5 评论 -
Mybatis中一对多映射详解
一个讲师tutors可以教授一个或者多个课程course。这意味着讲师和课程之间存在一对多的映射关系。 注意:在一对多关系中,数据库建表的时候外键一定是在多的那一方建立. 建表语句: drop table courses;表数据中,zs 讲师教授一个课程,而 ls 讲师教授两个课程 配置完以上内容之后,我们需要进行配置文件中注册必要的config文件:<?xml version="1.0" encoding="UTF-8"?> <!-- 进行dtd约束,其中-//mybatis.org//DTD Con原创 2016-10-23 16:13:25 · 15330 阅读 · 2 评论 -
自定义MyBatis日志
自定义MyBatis日志MyBatis使用其内部LoggerFactory作为真正的日志类库使用的门面。其内部的LaggerFactory会将日志记录任务委托给如下的所示某一个日志实现,日志记录优先级由上到下顺序递 SLF4J Apache Commons Logging Log4j2 Log4j JDK logging 如果MyBatis未发现上述日志记录实现,这里的实现指的是导入必要的包和配置文件,比如log4j的实现则需要导入log4j-1.2.17.jar包和配置文件 ,如没实现,则转载 2016-10-22 23:17:20 · 1244 阅读 · 0 评论 -
Mybatis中一对一映射详解
Mybatis中一对一映射Student和Address是一个【一对一】关系,我们进行对这类关系的操作对于地址信息,我们能够通过分析可知,有编号,街道,城市国家等,而对于教师信息,当MyBatis将一个Java对象作为输入参数执行INSERT语句操作时,它会创建一个PreparedStatement对象,并且使用setXXX()方法对?号占位符 设置相应的参数值 。这里,XXX可以是int,String,Date 等 Java对象属性类型的任意一个。这里,参数对象的属性phone是 PhoneNumber类原创 2016-10-23 05:17:16 · 7681 阅读 · 1 评论 -
使用xml配置Mybatis
使用xml配置MybatisMyBatis最关键的组成部分是SqlSessionFactory,我们可以从中获取SqlSession, 并执行映射的SQL语句。SqlSessionFactory对象可以通过基于XML的配置信息或者JavaAPI创建。 使用xml配置Mybatis 构建SqlSessionFactory最常见的方式是基于XML配置。下面的 mybatis-config.xml展示了一个典型的MyBatis配置文件的样子: MyBatis可以支持配置多个dataSource环境,转载 2016-10-22 20:17:15 · 980 阅读 · 0 评论 -
Mybatis中自动生成主键
Mybatis中自动生成主键 在INSERT语句中,我们为可以自动生成(auto-generated)主键的列 STUD_ID 插入值。我们可以使用useGeneratedKeys和keyProperty属性让数据库生成auto_increment列的值,并将生成的值设置到其中一个输入对象属性内,如下所示: <insert id="insertStudent" parameterType="Student" useGeneratedKeys="true" keyProperty="studId"原创 2016-10-22 23:36:20 · 17142 阅读 · 1 评论 -
使用Java API配置MyBatis
使用Java API配置MyBatisMyBatis最关键的组成部分是SqlSessionFactory,我们可以从中获取SqlSession, 并执行映射的SQL语句。SqlSessionFactory对象可以通过基于XML的配置信息或者JavaAPI创MyBatis的SqlSessionFactory接口除了使用基于XML的配置创建外也可以通过JavaAPI编程式地被创建。每在XML中配置的元素,都可以编程式的 因为mybatis框架读取了我们配置的mybatis-config.xml中配转载 2016-10-22 19:43:10 · 1867 阅读 · 0 评论 -
MyBatis常见接口和jar包介绍
mybatis中的映射接口XxxxMapper.java(对XxxxMapper.xml中的sql语句进行映射) mybatis中除了必须的jar包、各种xml配置文件之外,一般还需要有调用sql语句执行的接口XxxxMapper.java 注意:接口中的方法的名字和XML文件定义的SQL映射语句的名称要相同 同时我们不需要去实现该接口,因为mybatis中提供了相应的方式在运行期间动态生成该接口的实现类对象(动态代理技术,spring框架中会详些讲解动态代理).4、mybatis转载 2016-10-21 23:45:00 · 8533 阅读 · 0 评论 -
mybatis基本概念
MyBatis是一个简化和实现了 Java 数据持久化层(persistence layer)的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互。 MyBatis的前身是iBATIS,iBATIS于2002年由ClintonBegin创建。MyBatis3是iBATIS的全新设计,支持注解和Mapper。 MyBatis流行的主要原因在于它的简单性和易使用性。在Java应用程序中,数据持久化层涉及到的工作有:将从数据库查询到的数据生成所需要的转载 2016-10-21 23:20:03 · 3331 阅读 · 0 评论